/**
 */
package BlipTGG.Rules.impl;

import BlipLanguage.BlipLanguagePackage;

import BlipTGG.BlipTGGPackage;

import BlipTGG.Rules.MApplicationToApplicationRule;
import BlipTGG.Rules.MModelAttributeToModelAttributeRule;
import BlipTGG.Rules.MModelToModelRule;
import BlipTGG.Rules.RulesFactory;
import BlipTGG.Rules.RulesPackage;

import BlipTGG.impl.BlipTGGPackageImpl;

import MocaTree.MocaTreePackage;

import TGGLanguage.TGGLanguagePackage;

import TGGRuntime.TGGRuntimePackage;

import org.eclipse.emf.ecore.EClass;
import org.eclipse.emf.ecore.EOperation;
import org.eclipse.emf.ecore.EPackage;

import org.eclipse.emf.ecore.impl.EPackageImpl;

/**
 * <!-- begin-user-doc -->
 * An implementation of the model <b>Package</b>.
 * <!-- end-user-doc -->
 * @generated
 */
public class RulesPackageImpl extends EPackageImpl implements RulesPackage {
	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	private EClass mApplicationToApplicationRuleEClass = null;

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	private EClass mModelAttributeToModelAttributeRuleEClass = null;

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	private EClass mModelToModelRuleEClass = null;

	/**
	 * Creates an instance of the model <b>Package</b>, registered with
	 * {@link org.eclipse.emf.ecore.EPackage.Registry EPackage.Registry} by the package
	 * package URI value.
	 * <p>Note: the correct way to create the package is via the static
	 * factory method {@link #init init()}, which also performs
	 * initialization of the package, or returns the registered package,
	 * if one already exists.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see org.eclipse.emf.ecore.EPackage.Registry
	 * @see BlipTGG.Rules.RulesPackage#eNS_URI
	 * @see #init()
	 * @generated
	 */
	private RulesPackageImpl() {
		super(eNS_URI, RulesFactory.eINSTANCE);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	private static boolean isInited = false;

	/**
	 * Creates, registers, and initializes the <b>Package</b> for this model, and for any others upon which it depends.
	 * 
	 * <p>This method is used to initialize {@link RulesPackage#eINSTANCE} when that field is accessed.
	 * Clients should not invoke it directly. Instead, they should simply access that field to obtain the package.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see #eNS_URI
	 * @see #createPackageContents()
	 * @see #initializePackageContents()
	 * @generated
	 */
	public static RulesPackage init() {
		if (isInited)
			return (RulesPackage) EPackage.Registry.INSTANCE
					.getEPackage(RulesPackage.eNS_URI);

		// Obtain or create and register package
		RulesPackageImpl theRulesPackage = (RulesPackageImpl) (EPackage.Registry.INSTANCE
				.get(eNS_URI) instanceof RulesPackageImpl ? EPackage.Registry.INSTANCE
				.get(eNS_URI) : new RulesPackageImpl());

		isInited = true;

		// Initialize simple dependencies
		TGGLanguagePackage.eINSTANCE.eClass();
		BlipLanguagePackage.eINSTANCE.eClass();

		// Obtain or create and register interdependencies
		BlipTGGPackageImpl theBlipTGGPackage = (BlipTGGPackageImpl) (EPackage.Registry.INSTANCE
				.getEPackage(BlipTGGPackage.eNS_URI) instanceof BlipTGGPackageImpl ? EPackage.Registry.INSTANCE
				.getEPackage(BlipTGGPackage.eNS_URI) : BlipTGGPackage.eINSTANCE);

		// Create package meta-data objects
		theRulesPackage.createPackageContents();
		theBlipTGGPackage.createPackageContents();

		// Initialize created meta-data
		theRulesPackage.initializePackageContents();
		theBlipTGGPackage.initializePackageContents();

		// Mark meta-data to indicate it can't be changed
		theRulesPackage.freeze();

		// Update the registry and return the package
		EPackage.Registry.INSTANCE.put(RulesPackage.eNS_URI, theRulesPackage);
		return theRulesPackage;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EClass getMApplicationToApplicationRule() {
		return mApplicationToApplicationRuleEClass;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EOperation getMApplicationToApplicationRule__Perform_FWD__IsApplicableMatch() {
		return mApplicationToApplicationRuleEClass.getEOperations().get(0);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EOperation getMApplicationToApplicationRule__IsAppropriate_FWD__Match_Node_Attribute_Attribute_Attribute_Attribute() {
		return mApplicationToApplicationRuleEClass.getEOperations().get(1);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EOperation getMApplicationToApplicationRule__IsApplicable_FWD__Match() {
		return mApplicationToApplicationRuleEClass.getEOperations().get(2);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EOperation getMApplicationToApplicationRule__Perform_BWD__IsApplicableMatch() {
		return mApplicationToApplicationRuleEClass.getEOperations().get(3);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EOperation getMApplicationToApplicationRule__IsAppropriate_BWD__Match_BlipApplication() {
		return mApplicationToApplicationRuleEClass.getEOperations().get(4);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EOperation getMApplicationToApplicationRule__IsApplicable_BWD__Match() {
		return mApplicationToApplicationRuleEClass.getEOperations().get(5);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EOperation getMApplicationToApplicationRule__IsAppropriate_FWD_Node_0__Node() {
		return mApplicationToApplicationRuleEClass.getEOperations().get(6);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EOperation getMApplicationToApplicationRule__IsAppropriate_FWD_Attribute_0__Attribute() {
		return mApplicationToApplicationRuleEClass.getEOperations().get(7);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EOperation getMApplicationToApplicationRule__IsAppropriate_FWD_Attribute_1__Attribute() {
		return mApplicationToApplicationRuleEClass.getEOperations().get(8);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EOperation getMApplicationToApplicationRule__IsAppropriate_FWD_Attribute_2__Attribute() {
		return mApplicationToApplicationRuleEClass.getEOperations().get(9);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EOperation getMApplicationToApplicationRule__IsAppropriate_FWD_Attribute_3__Attribute() {
		return mApplicationToApplicationRuleEClass.getEOperations().get(10);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EOperation getMApplicationToApplicationRule__IsAppropriate_BWD_BlipApplication_0__BlipApplication() {
		return mApplicationToApplicationRuleEClass.getEOperations().get(11);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EClass getMModelAttributeToModelAttributeRule() {
		return mModelAttributeToModelAttributeRuleEClass;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EOperation getMModelAttributeToModelAttributeRule__Perform_FWD__IsApplicableMatch() {
		return mModelAttributeToModelAttributeRuleEClass.getEOperations()
				.get(0);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EOperation getMModelAttributeToModelAttributeRule__IsAppropriate_FWD__Match_Node_Node_Attribute() {
		return mModelAttributeToModelAttributeRuleEClass.getEOperations()
				.get(1);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EOperation getMModelAttributeToModelAttributeRule__IsApplicable_FWD__Match() {
		return mModelAttributeToModelAttributeRuleEClass.getEOperations()
				.get(2);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EOperation getMModelAttributeToModelAttributeRule__Perform_BWD__IsApplicableMatch() {
		return mModelAttributeToModelAttributeRuleEClass.getEOperations()
				.get(3);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EOperation getMModelAttributeToModelAttributeRule__IsAppropriate_BWD__Match_BlipModel_BlipModelAttribute() {
		return mModelAttributeToModelAttributeRuleEClass.getEOperations()
				.get(4);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EOperation getMModelAttributeToModelAttributeRule__IsApplicable_BWD__Match() {
		return mModelAttributeToModelAttributeRuleEClass.getEOperations()
				.get(5);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EOperation getMModelAttributeToModelAttributeRule__IsAppropriate_FWD_Node_1__Node() {
		return mModelAttributeToModelAttributeRuleEClass.getEOperations()
				.get(6);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EOperation getMModelAttributeToModelAttributeRule__IsAppropriate_FWD_Node_2__Node() {
		return mModelAttributeToModelAttributeRuleEClass.getEOperations()
				.get(7);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EOperation getMModelAttributeToModelAttributeRule__IsAppropriate_FWD_Attribute_4__Attribute() {
		return mModelAttributeToModelAttributeRuleEClass.getEOperations()
				.get(8);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EOperation getMModelAttributeToModelAttributeRule__IsAppropriate_BWD_BlipModel_0__BlipModel() {
		return mModelAttributeToModelAttributeRuleEClass.getEOperations()
				.get(9);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EOperation getMModelAttributeToModelAttributeRule__IsAppropriate_BWD_BlipModelAttribute_0__BlipModelAttribute() {
		return mModelAttributeToModelAttributeRuleEClass.getEOperations().get(
				10);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EClass getMModelToModelRule() {
		return mModelToModelRuleEClass;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EOperation getMModelToModelRule__Perform_FWD__IsApplicableMatch() {
		return mModelToModelRuleEClass.getEOperations().get(0);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EOperation getMModelToModelRule__IsAppropriate_FWD__Match_Node_Node_Attribute() {
		return mModelToModelRuleEClass.getEOperations().get(1);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EOperation getMModelToModelRule__IsApplicable_FWD__Match() {
		return mModelToModelRuleEClass.getEOperations().get(2);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EOperation getMModelToModelRule__Perform_BWD__IsApplicableMatch() {
		return mModelToModelRuleEClass.getEOperations().get(3);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EOperation getMModelToModelRule__IsAppropriate_BWD__Match_BlipApplication_BlipModel() {
		return mModelToModelRuleEClass.getEOperations().get(4);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EOperation getMModelToModelRule__IsApplicable_BWD__Match() {
		return mModelToModelRuleEClass.getEOperations().get(5);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EOperation getMModelToModelRule__IsAppropriate_FWD_Node_3__Node() {
		return mModelToModelRuleEClass.getEOperations().get(6);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EOperation getMModelToModelRule__IsAppropriate_FWD_Node_4__Node() {
		return mModelToModelRuleEClass.getEOperations().get(7);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EOperation getMModelToModelRule__IsAppropriate_FWD_Attribute_5__Attribute() {
		return mModelToModelRuleEClass.getEOperations().get(8);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EOperation getMModelToModelRule__IsAppropriate_BWD_BlipApplication_1__BlipApplication() {
		return mModelToModelRuleEClass.getEOperations().get(9);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EOperation getMModelToModelRule__IsAppropriate_BWD_BlipModel_1__BlipModel() {
		return mModelToModelRuleEClass.getEOperations().get(10);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public RulesFactory getRulesFactory() {
		return (RulesFactory) getEFactoryInstance();
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	private boolean isCreated = false;

	/**
	 * Creates the meta-model objects for the package.  This method is
	 * guarded to have no affect on any invocation but its first.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public void createPackageContents() {
		if (isCreated)
			return;
		isCreated = true;

		// Create classes and their features
		mApplicationToApplicationRuleEClass = createEClass(MAPPLICATION_TO_APPLICATION_RULE);
		createEOperation(mApplicationToApplicationRuleEClass,
				MAPPLICATION_TO_APPLICATION_RULE___PERFORM_FWD__ISAPPLICABLEMATCH);
		createEOperation(
				mApplicationToApplicationRuleEClass,
				MAPPLICATION_TO_APPLICATION_RULE___IS_APPROPRIATE_FWD__MATCH_NODE_ATTRIBUTE_ATTRIBUTE_ATTRIBUTE_ATTRIBUTE);
		createEOperation(mApplicationToApplicationRuleEClass,
				MAPPLICATION_TO_APPLICATION_RULE___IS_APPLICABLE_FWD__MATCH);
		createEOperation(mApplicationToApplicationRuleEClass,
				MAPPLICATION_TO_APPLICATION_RULE___PERFORM_BWD__ISAPPLICABLEMATCH);
		createEOperation(mApplicationToApplicationRuleEClass,
				MAPPLICATION_TO_APPLICATION_RULE___IS_APPROPRIATE_BWD__MATCH_BLIPAPPLICATION);
		createEOperation(mApplicationToApplicationRuleEClass,
				MAPPLICATION_TO_APPLICATION_RULE___IS_APPLICABLE_BWD__MATCH);
		createEOperation(mApplicationToApplicationRuleEClass,
				MAPPLICATION_TO_APPLICATION_RULE___IS_APPROPRIATE_FWD_NODE_0__NODE);
		createEOperation(mApplicationToApplicationRuleEClass,
				MAPPLICATION_TO_APPLICATION_RULE___IS_APPROPRIATE_FWD_ATTRIBUTE_0__ATTRIBUTE);
		createEOperation(mApplicationToApplicationRuleEClass,
				MAPPLICATION_TO_APPLICATION_RULE___IS_APPROPRIATE_FWD_ATTRIBUTE_1__ATTRIBUTE);
		createEOperation(mApplicationToApplicationRuleEClass,
				MAPPLICATION_TO_APPLICATION_RULE___IS_APPROPRIATE_FWD_ATTRIBUTE_2__ATTRIBUTE);
		createEOperation(mApplicationToApplicationRuleEClass,
				MAPPLICATION_TO_APPLICATION_RULE___IS_APPROPRIATE_FWD_ATTRIBUTE_3__ATTRIBUTE);
		createEOperation(
				mApplicationToApplicationRuleEClass,
				MAPPLICATION_TO_APPLICATION_RULE___IS_APPROPRIATE_BWD_BLIP_APPLICATION_0__BLIPAPPLICATION);

		mModelAttributeToModelAttributeRuleEClass = createEClass(MMODEL_ATTRIBUTE_TO_MODEL_ATTRIBUTE_RULE);
		createEOperation(mModelAttributeToModelAttributeRuleEClass,
				MMODEL_ATTRIBUTE_TO_MODEL_ATTRIBUTE_RULE___PERFORM_FWD__ISAPPLICABLEMATCH);
		createEOperation(
				mModelAttributeToModelAttributeRuleEClass,
				MMODEL_ATTRIBUTE_TO_MODEL_ATTRIBUTE_RULE___IS_APPROPRIATE_FWD__MATCH_NODE_NODE_ATTRIBUTE);
		createEOperation(mModelAttributeToModelAttributeRuleEClass,
				MMODEL_ATTRIBUTE_TO_MODEL_ATTRIBUTE_RULE___IS_APPLICABLE_FWD__MATCH);
		createEOperation(mModelAttributeToModelAttributeRuleEClass,
				MMODEL_ATTRIBUTE_TO_MODEL_ATTRIBUTE_RULE___PERFORM_BWD__ISAPPLICABLEMATCH);
		createEOperation(
				mModelAttributeToModelAttributeRuleEClass,
				MMODEL_ATTRIBUTE_TO_MODEL_ATTRIBUTE_RULE___IS_APPROPRIATE_BWD__MATCH_BLIPMODEL_BLIPMODELATTRIBUTE);
		createEOperation(mModelAttributeToModelAttributeRuleEClass,
				MMODEL_ATTRIBUTE_TO_MODEL_ATTRIBUTE_RULE___IS_APPLICABLE_BWD__MATCH);
		createEOperation(mModelAttributeToModelAttributeRuleEClass,
				MMODEL_ATTRIBUTE_TO_MODEL_ATTRIBUTE_RULE___IS_APPROPRIATE_FWD_NODE_1__NODE);
		createEOperation(mModelAttributeToModelAttributeRuleEClass,
				MMODEL_ATTRIBUTE_TO_MODEL_ATTRIBUTE_RULE___IS_APPROPRIATE_FWD_NODE_2__NODE);
		createEOperation(
				mModelAttributeToModelAttributeRuleEClass,
				MMODEL_ATTRIBUTE_TO_MODEL_ATTRIBUTE_RULE___IS_APPROPRIATE_FWD_ATTRIBUTE_4__ATTRIBUTE);
		createEOperation(
				mModelAttributeToModelAttributeRuleEClass,
				MMODEL_ATTRIBUTE_TO_MODEL_ATTRIBUTE_RULE___IS_APPROPRIATE_BWD_BLIP_MODEL_0__BLIPMODEL);
		createEOperation(
				mModelAttributeToModelAttributeRuleEClass,
				MMODEL_ATTRIBUTE_TO_MODEL_ATTRIBUTE_RULE___IS_APPROPRIATE_BWD_BLIP_MODEL_ATTRIBUTE_0__BLIPMODELATTRIBUTE);

		mModelToModelRuleEClass = createEClass(MMODEL_TO_MODEL_RULE);
		createEOperation(mModelToModelRuleEClass,
				MMODEL_TO_MODEL_RULE___PERFORM_FWD__ISAPPLICABLEMATCH);
		createEOperation(mModelToModelRuleEClass,
				MMODEL_TO_MODEL_RULE___IS_APPROPRIATE_FWD__MATCH_NODE_NODE_ATTRIBUTE);
		createEOperation(mModelToModelRuleEClass,
				MMODEL_TO_MODEL_RULE___IS_APPLICABLE_FWD__MATCH);
		createEOperation(mModelToModelRuleEClass,
				MMODEL_TO_MODEL_RULE___PERFORM_BWD__ISAPPLICABLEMATCH);
		createEOperation(mModelToModelRuleEClass,
				MMODEL_TO_MODEL_RULE___IS_APPROPRIATE_BWD__MATCH_BLIPAPPLICATION_BLIPMODEL);
		createEOperation(mModelToModelRuleEClass,
				MMODEL_TO_MODEL_RULE___IS_APPLICABLE_BWD__MATCH);
		createEOperation(mModelToModelRuleEClass,
				MMODEL_TO_MODEL_RULE___IS_APPROPRIATE_FWD_NODE_3__NODE);
		createEOperation(mModelToModelRuleEClass,
				MMODEL_TO_MODEL_RULE___IS_APPROPRIATE_FWD_NODE_4__NODE);
		createEOperation(mModelToModelRuleEClass,
				MMODEL_TO_MODEL_RULE___IS_APPROPRIATE_FWD_ATTRIBUTE_5__ATTRIBUTE);
		createEOperation(mModelToModelRuleEClass,
				MMODEL_TO_MODEL_RULE___IS_APPROPRIATE_BWD_BLIP_APPLICATION_1__BLIPAPPLICATION);
		createEOperation(mModelToModelRuleEClass,
				MMODEL_TO_MODEL_RULE___IS_APPROPRIATE_BWD_BLIP_MODEL_1__BLIPMODEL);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	private boolean isInitialized = false;

	/**
	 * Complete the initialization of the package and its meta-model.  This
	 * method is guarded to have no affect on any invocation but its first.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public void initializePackageContents() {
		if (isInitialized)
			return;
		isInitialized = true;

		// Initialize package
		setName(eNAME);
		setNsPrefix(eNS_PREFIX);
		setNsURI(eNS_URI);

		// Obtain other dependent packages
		TGGRuntimePackage theTGGRuntimePackage = (TGGRuntimePackage) EPackage.Registry.INSTANCE
				.getEPackage(TGGRuntimePackage.eNS_URI);
		MocaTreePackage theMocaTreePackage = (MocaTreePackage) EPackage.Registry.INSTANCE
				.getEPackage(MocaTreePackage.eNS_URI);
		BlipLanguagePackage theBlipLanguagePackage = (BlipLanguagePackage) EPackage.Registry.INSTANCE
				.getEPackage(BlipLanguagePackage.eNS_URI);

		// Create type parameters

		// Set bounds for type parameters

		// Add supertypes to classes
		mApplicationToApplicationRuleEClass.getESuperTypes().add(
				theTGGRuntimePackage.getAbstractRule());
		mModelAttributeToModelAttributeRuleEClass.getESuperTypes().add(
				theTGGRuntimePackage.getAbstractRule());
		mModelToModelRuleEClass.getESuperTypes().add(
				theTGGRuntimePackage.getAbstractRule());

		// Initialize classes, features, and operations; add parameters
		initEClass(mApplicationToApplicationRuleEClass,
				MApplicationToApplicationRule.class,
				"MApplicationToApplicationRule", !IS_ABSTRACT, !IS_INTERFACE,
				IS_GENERATED_INSTANCE_CLASS);

		EOperation op = initEOperation(
				getMApplicationToApplicationRule__Perform_FWD__IsApplicableMatch(),
				theTGGRuntimePackage.getPerformRuleResult(), "perform_FWD", 0,
				1, IS_UNIQUE, IS_ORDERED);
		addEParameter(op, theTGGRuntimePackage.getIsApplicableMatch(),
				"isApplicableMatch", 0, 1, IS_UNIQUE, IS_ORDERED);

		op = initEOperation(
				getMApplicationToApplicationRule__IsAppropriate_FWD__Match_Node_Attribute_Attribute_Attribute_Attribute(),
				ecorePackage.getEBoolean(), "isAppropriate_FWD", 0, 1,
				IS_UNIQUE, IS_ORDERED);
		addEParameter(op, theTGGRuntimePackage.getMatch(), "match", 0, 1,
				IS_UNIQUE, IS_ORDERED);
		addEParameter(op, theMocaTreePackage.getNode(), "applicationNode", 0,
				1, IS_UNIQUE, IS_ORDERED);
		addEParameter(op, theMocaTreePackage.getAttribute(), "titleAttr", 0, 1,
				IS_UNIQUE, IS_ORDERED);
		addEParameter(op, theMocaTreePackage.getAttribute(), "packageNameAttr",
				0, 1, IS_UNIQUE, IS_ORDERED);
		addEParameter(op, theMocaTreePackage.getAttribute(),
				"androidPlayLibraryPathAttr", 0, 1, IS_UNIQUE, IS_ORDERED);
		addEParameter(op, theMocaTreePackage.getAttribute(),
				"androidMapsApiKeyAttr", 0, 1, IS_UNIQUE, IS_ORDERED);

		op = initEOperation(
				getMApplicationToApplicationRule__IsApplicable_FWD__Match(),
				theTGGRuntimePackage.getIsApplicableRuleResult(),
				"isApplicable_FWD", 0, 1, IS_UNIQUE, IS_ORDERED);
		addEParameter(op, theTGGRuntimePackage.getMatch(), "match", 0, 1,
				IS_UNIQUE, IS_ORDERED);

		op = initEOperation(
				getMApplicationToApplicationRule__Perform_BWD__IsApplicableMatch(),
				theTGGRuntimePackage.getPerformRuleResult(), "perform_BWD", 0,
				1, IS_UNIQUE, IS_ORDERED);
		addEParameter(op, theTGGRuntimePackage.getIsApplicableMatch(),
				"isApplicableMatch", 0, 1, IS_UNIQUE, IS_ORDERED);

		op = initEOperation(
				getMApplicationToApplicationRule__IsAppropriate_BWD__Match_BlipApplication(),
				ecorePackage.getEBoolean(), "isAppropriate_BWD", 0, 1,
				IS_UNIQUE, IS_ORDERED);
		addEParameter(op, theTGGRuntimePackage.getMatch(), "match", 0, 1,
				IS_UNIQUE, IS_ORDERED);
		addEParameter(op, theBlipLanguagePackage.getBlipApplication(),
				"application", 0, 1, IS_UNIQUE, IS_ORDERED);

		op = initEOperation(
				getMApplicationToApplicationRule__IsApplicable_BWD__Match(),
				theTGGRuntimePackage.getIsApplicableRuleResult(),
				"isApplicable_BWD", 0, 1, IS_UNIQUE, IS_ORDERED);
		addEParameter(op, theTGGRuntimePackage.getMatch(), "match", 0, 1,
				IS_UNIQUE, IS_ORDERED);

		op = initEOperation(
				getMApplicationToApplicationRule__IsAppropriate_FWD_Node_0__Node(),
				theTGGRuntimePackage.getIsAppropriateRuleResult(),
				"isAppropriate_FWD_Node_0", 0, 1, IS_UNIQUE, IS_ORDERED);
		addEParameter(op, theMocaTreePackage.getNode(), "applicationNode", 0,
				1, IS_UNIQUE, IS_ORDERED);

		op = initEOperation(
				getMApplicationToApplicationRule__IsAppropriate_FWD_Attribute_0__Attribute(),
				theTGGRuntimePackage.getIsAppropriateRuleResult(),
				"isAppropriate_FWD_Attribute_0", 0, 1, IS_UNIQUE, IS_ORDERED);
		addEParameter(op, theMocaTreePackage.getAttribute(), "titleAttr", 0, 1,
				IS_UNIQUE, IS_ORDERED);

		op = initEOperation(
				getMApplicationToApplicationRule__IsAppropriate_FWD_Attribute_1__Attribute(),
				theTGGRuntimePackage.getIsAppropriateRuleResult(),
				"isAppropriate_FWD_Attribute_1", 0, 1, IS_UNIQUE, IS_ORDERED);
		addEParameter(op, theMocaTreePackage.getAttribute(), "packageNameAttr",
				0, 1, IS_UNIQUE, IS_ORDERED);

		op = initEOperation(
				getMApplicationToApplicationRule__IsAppropriate_FWD_Attribute_2__Attribute(),
				theTGGRuntimePackage.getIsAppropriateRuleResult(),
				"isAppropriate_FWD_Attribute_2", 0, 1, IS_UNIQUE, IS_ORDERED);
		addEParameter(op, theMocaTreePackage.getAttribute(),
				"androidPlayLibraryPathAttr", 0, 1, IS_UNIQUE, IS_ORDERED);

		op = initEOperation(
				getMApplicationToApplicationRule__IsAppropriate_FWD_Attribute_3__Attribute(),
				theTGGRuntimePackage.getIsAppropriateRuleResult(),
				"isAppropriate_FWD_Attribute_3", 0, 1, IS_UNIQUE, IS_ORDERED);
		addEParameter(op, theMocaTreePackage.getAttribute(),
				"androidMapsApiKeyAttr", 0, 1, IS_UNIQUE, IS_ORDERED);

		op = initEOperation(
				getMApplicationToApplicationRule__IsAppropriate_BWD_BlipApplication_0__BlipApplication(),
				theTGGRuntimePackage.getIsAppropriateRuleResult(),
				"isAppropriate_BWD_BlipApplication_0", 0, 1, IS_UNIQUE,
				IS_ORDERED);
		addEParameter(op, theBlipLanguagePackage.getBlipApplication(),
				"application", 0, 1, IS_UNIQUE, IS_ORDERED);

		initEClass(mModelAttributeToModelAttributeRuleEClass,
				MModelAttributeToModelAttributeRule.class,
				"MModelAttributeToModelAttributeRule", !IS_ABSTRACT,
				!IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);

		op = initEOperation(
				getMModelAttributeToModelAttributeRule__Perform_FWD__IsApplicableMatch(),
				theTGGRuntimePackage.getPerformRuleResult(), "perform_FWD", 0,
				1, IS_UNIQUE, IS_ORDERED);
		addEParameter(op, theTGGRuntimePackage.getIsApplicableMatch(),
				"isApplicableMatch", 0, 1, IS_UNIQUE, IS_ORDERED);

		op = initEOperation(
				getMModelAttributeToModelAttributeRule__IsAppropriate_FWD__Match_Node_Node_Attribute(),
				ecorePackage.getEBoolean(), "isAppropriate_FWD", 0, 1,
				IS_UNIQUE, IS_ORDERED);
		addEParameter(op, theTGGRuntimePackage.getMatch(), "match", 0, 1,
				IS_UNIQUE, IS_ORDERED);
		addEParameter(op, theMocaTreePackage.getNode(), "modelNode", 0, 1,
				IS_UNIQUE, IS_ORDERED);
		addEParameter(op, theMocaTreePackage.getNode(), "modelAttributeNode",
				0, 1, IS_UNIQUE, IS_ORDERED);
		addEParameter(op, theMocaTreePackage.getAttribute(), "typeAttr", 0, 1,
				IS_UNIQUE, IS_ORDERED);

		op = initEOperation(
				getMModelAttributeToModelAttributeRule__IsApplicable_FWD__Match(),
				theTGGRuntimePackage.getIsApplicableRuleResult(),
				"isApplicable_FWD", 0, 1, IS_UNIQUE, IS_ORDERED);
		addEParameter(op, theTGGRuntimePackage.getMatch(), "match", 0, 1,
				IS_UNIQUE, IS_ORDERED);

		op = initEOperation(
				getMModelAttributeToModelAttributeRule__Perform_BWD__IsApplicableMatch(),
				theTGGRuntimePackage.getPerformRuleResult(), "perform_BWD", 0,
				1, IS_UNIQUE, IS_ORDERED);
		addEParameter(op, theTGGRuntimePackage.getIsApplicableMatch(),
				"isApplicableMatch", 0, 1, IS_UNIQUE, IS_ORDERED);

		op = initEOperation(
				getMModelAttributeToModelAttributeRule__IsAppropriate_BWD__Match_BlipModel_BlipModelAttribute(),
				ecorePackage.getEBoolean(), "isAppropriate_BWD", 0, 1,
				IS_UNIQUE, IS_ORDERED);
		addEParameter(op, theTGGRuntimePackage.getMatch(), "match", 0, 1,
				IS_UNIQUE, IS_ORDERED);
		addEParameter(op, theBlipLanguagePackage.getBlipModel(), "blipModel",
				0, 1, IS_UNIQUE, IS_ORDERED);
		addEParameter(op, theBlipLanguagePackage.getBlipModelAttribute(),
				"blipModelAttribute", 0, 1, IS_UNIQUE, IS_ORDERED);

		op = initEOperation(
				getMModelAttributeToModelAttributeRule__IsApplicable_BWD__Match(),
				theTGGRuntimePackage.getIsApplicableRuleResult(),
				"isApplicable_BWD", 0, 1, IS_UNIQUE, IS_ORDERED);
		addEParameter(op, theTGGRuntimePackage.getMatch(), "match", 0, 1,
				IS_UNIQUE, IS_ORDERED);

		op = initEOperation(
				getMModelAttributeToModelAttributeRule__IsAppropriate_FWD_Node_1__Node(),
				theTGGRuntimePackage.getIsAppropriateRuleResult(),
				"isAppropriate_FWD_Node_1", 0, 1, IS_UNIQUE, IS_ORDERED);
		addEParameter(op, theMocaTreePackage.getNode(), "modelNode", 0, 1,
				IS_UNIQUE, IS_ORDERED);

		op = initEOperation(
				getMModelAttributeToModelAttributeRule__IsAppropriate_FWD_Node_2__Node(),
				theTGGRuntimePackage.getIsAppropriateRuleResult(),
				"isAppropriate_FWD_Node_2", 0, 1, IS_UNIQUE, IS_ORDERED);
		addEParameter(op, theMocaTreePackage.getNode(), "modelAttributeNode",
				0, 1, IS_UNIQUE, IS_ORDERED);

		op = initEOperation(
				getMModelAttributeToModelAttributeRule__IsAppropriate_FWD_Attribute_4__Attribute(),
				theTGGRuntimePackage.getIsAppropriateRuleResult(),
				"isAppropriate_FWD_Attribute_4", 0, 1, IS_UNIQUE, IS_ORDERED);
		addEParameter(op, theMocaTreePackage.getAttribute(), "typeAttr", 0, 1,
				IS_UNIQUE, IS_ORDERED);

		op = initEOperation(
				getMModelAttributeToModelAttributeRule__IsAppropriate_BWD_BlipModel_0__BlipModel(),
				theTGGRuntimePackage.getIsAppropriateRuleResult(),
				"isAppropriate_BWD_BlipModel_0", 0, 1, IS_UNIQUE, IS_ORDERED);
		addEParameter(op, theBlipLanguagePackage.getBlipModel(), "blipModel",
				0, 1, IS_UNIQUE, IS_ORDERED);

		op = initEOperation(
				getMModelAttributeToModelAttributeRule__IsAppropriate_BWD_BlipModelAttribute_0__BlipModelAttribute(),
				theTGGRuntimePackage.getIsAppropriateRuleResult(),
				"isAppropriate_BWD_BlipModelAttribute_0", 0, 1, IS_UNIQUE,
				IS_ORDERED);
		addEParameter(op, theBlipLanguagePackage.getBlipModelAttribute(),
				"blipModelAttribute", 0, 1, IS_UNIQUE, IS_ORDERED);

		initEClass(mModelToModelRuleEClass, MModelToModelRule.class,
				"MModelToModelRule", !IS_ABSTRACT, !IS_INTERFACE,
				IS_GENERATED_INSTANCE_CLASS);

		op = initEOperation(
				getMModelToModelRule__Perform_FWD__IsApplicableMatch(),
				theTGGRuntimePackage.getPerformRuleResult(), "perform_FWD", 0,
				1, IS_UNIQUE, IS_ORDERED);
		addEParameter(op, theTGGRuntimePackage.getIsApplicableMatch(),
				"isApplicableMatch", 0, 1, IS_UNIQUE, IS_ORDERED);

		op = initEOperation(
				getMModelToModelRule__IsAppropriate_FWD__Match_Node_Node_Attribute(),
				ecorePackage.getEBoolean(), "isAppropriate_FWD", 0, 1,
				IS_UNIQUE, IS_ORDERED);
		addEParameter(op, theTGGRuntimePackage.getMatch(), "match", 0, 1,
				IS_UNIQUE, IS_ORDERED);
		addEParameter(op, theMocaTreePackage.getNode(), "applicationNode", 0,
				1, IS_UNIQUE, IS_ORDERED);
		addEParameter(op, theMocaTreePackage.getNode(), "blipModelNode", 0, 1,
				IS_UNIQUE, IS_ORDERED);
		addEParameter(op, theMocaTreePackage.getAttribute(), "nameAttr", 0, 1,
				IS_UNIQUE, IS_ORDERED);

		op = initEOperation(getMModelToModelRule__IsApplicable_FWD__Match(),
				theTGGRuntimePackage.getIsApplicableRuleResult(),
				"isApplicable_FWD", 0, 1, IS_UNIQUE, IS_ORDERED);
		addEParameter(op, theTGGRuntimePackage.getMatch(), "match", 0, 1,
				IS_UNIQUE, IS_ORDERED);

		op = initEOperation(
				getMModelToModelRule__Perform_BWD__IsApplicableMatch(),
				theTGGRuntimePackage.getPerformRuleResult(), "perform_BWD", 0,
				1, IS_UNIQUE, IS_ORDERED);
		addEParameter(op, theTGGRuntimePackage.getIsApplicableMatch(),
				"isApplicableMatch", 0, 1, IS_UNIQUE, IS_ORDERED);

		op = initEOperation(
				getMModelToModelRule__IsAppropriate_BWD__Match_BlipApplication_BlipModel(),
				ecorePackage.getEBoolean(), "isAppropriate_BWD", 0, 1,
				IS_UNIQUE, IS_ORDERED);
		addEParameter(op, theTGGRuntimePackage.getMatch(), "match", 0, 1,
				IS_UNIQUE, IS_ORDERED);
		addEParameter(op, theBlipLanguagePackage.getBlipApplication(),
				"application", 0, 1, IS_UNIQUE, IS_ORDERED);
		addEParameter(op, theBlipLanguagePackage.getBlipModel(), "blipModel",
				0, 1, IS_UNIQUE, IS_ORDERED);

		op = initEOperation(getMModelToModelRule__IsApplicable_BWD__Match(),
				theTGGRuntimePackage.getIsApplicableRuleResult(),
				"isApplicable_BWD", 0, 1, IS_UNIQUE, IS_ORDERED);
		addEParameter(op, theTGGRuntimePackage.getMatch(), "match", 0, 1,
				IS_UNIQUE, IS_ORDERED);

		op = initEOperation(
				getMModelToModelRule__IsAppropriate_FWD_Node_3__Node(),
				theTGGRuntimePackage.getIsAppropriateRuleResult(),
				"isAppropriate_FWD_Node_3", 0, 1, IS_UNIQUE, IS_ORDERED);
		addEParameter(op, theMocaTreePackage.getNode(), "applicationNode", 0,
				1, IS_UNIQUE, IS_ORDERED);

		op = initEOperation(
				getMModelToModelRule__IsAppropriate_FWD_Node_4__Node(),
				theTGGRuntimePackage.getIsAppropriateRuleResult(),
				"isAppropriate_FWD_Node_4", 0, 1, IS_UNIQUE, IS_ORDERED);
		addEParameter(op, theMocaTreePackage.getNode(), "blipModelNode", 0, 1,
				IS_UNIQUE, IS_ORDERED);

		op = initEOperation(
				getMModelToModelRule__IsAppropriate_FWD_Attribute_5__Attribute(),
				theTGGRuntimePackage.getIsAppropriateRuleResult(),
				"isAppropriate_FWD_Attribute_5", 0, 1, IS_UNIQUE, IS_ORDERED);
		addEParameter(op, theMocaTreePackage.getAttribute(), "nameAttr", 0, 1,
				IS_UNIQUE, IS_ORDERED);

		op = initEOperation(
				getMModelToModelRule__IsAppropriate_BWD_BlipApplication_1__BlipApplication(),
				theTGGRuntimePackage.getIsAppropriateRuleResult(),
				"isAppropriate_BWD_BlipApplication_1", 0, 1, IS_UNIQUE,
				IS_ORDERED);
		addEParameter(op, theBlipLanguagePackage.getBlipApplication(),
				"application", 0, 1, IS_UNIQUE, IS_ORDERED);

		op = initEOperation(
				getMModelToModelRule__IsAppropriate_BWD_BlipModel_1__BlipModel(),
				theTGGRuntimePackage.getIsAppropriateRuleResult(),
				"isAppropriate_BWD_BlipModel_1", 0, 1, IS_UNIQUE, IS_ORDERED);
		addEParameter(op, theBlipLanguagePackage.getBlipModel(), "blipModel",
				0, 1, IS_UNIQUE, IS_ORDERED);

		// Create annotations
		// TGGRule
		createTGGRuleAnnotations();
		// SDM
		createSDMAnnotations();
	}

	/**
	 * Initializes the annotations for <b>TGGRule</b>.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected void createTGGRuleAnnotations() {
		String source = "TGGRule";
		addAnnotation(mApplicationToApplicationRuleEClass, source,
				new String[] {});
		addAnnotation(mModelAttributeToModelAttributeRuleEClass, source,
				new String[] {});
		addAnnotation(mModelToModelRuleEClass, source, new String[] {});
	}

	/**
	 * Initializes the annotations for <b>SDM</b>.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected void createSDMAnnotations() {
		String source = "SDM";
		addAnnotation(
				getMApplicationToApplicationRule__Perform_FWD__IsApplicableMatch(),
				source,
				new String[] {
						"XMI",
						"<?xml version=\"1.0\" encoding=\"UTF-8\"?>\r\n<activities:Activity xmi:version=\"2.0\" xmlns:xmi=\"http://www.omg.org/XMI\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:TGGLanguage=\"http://www.moflon.org.TGGLanguage\" xmlns:activities=\"http://www.moflon.org.SDMLanguage.activities\" xmlns:csp=\"http://www.moflon.org.TGGLanguage.csp\" xmlns:ecore=\"http://www.eclipse.org/emf/2002/Ecore\" xmlns:expressions=\"http://www.moflon.org.SDMLanguage.expressions\" xmlns:patternExpressions=\"http://www.moflon.org.SDMLanguage.patterns.patternExpressions\">\r\n  <ownedActivityNode xsi:type=\"activities:StoryNode\" name=\"collect translated elements\" outgoing=\"//@ownedActivityEdge.3\" incoming=\"//@ownedActivityEdge.1\">\r\n    <storyPattern>\r\n      <objectVariable name=\"ruleresult\" outgoingLink=\"//@ownedActivityNode.0/@storyPattern/@linkVariable.0 //@ownedActivityNode.0/@storyPattern/@linkVariable.1 //@ownedActivityNode.0/@storyPattern/@linkVariable.2 //@ownedActivityNode.0/@storyPattern/@linkVariable.3 //@ownedActivityNode.0/@storyPattern/@linkVariable.4 //@ownedActivityNode.0/@storyPattern/@linkVariable.5 //@ownedActivityNode.0/@storyPattern/@linkVariable.6\" bindingOperator=\"CREATE\" bindingState=\"BOUND\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"http://www.moflon.org.TGGRuntime#//PerformRuleResult\"/>\r\n        <attributeAssignment>\r\n          <attribute href=\"http://www.moflon.org.TGGRuntime#//RuleResult/success\"/>\r\n          <valueExpression xsi:type=\"expressions:LiteralExpression\" value=\"true\"/>\r\n        </attributeAssignment>\r\n      </objectVariable>\r\n      <objectVariable name=\"applicationNode\" incomingLink=\"//@ownedActivityNode.0/@storyPattern/@linkVariable.0\" bindingState=\"BOUND\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"platform:/plugin/org.moflon.moca.MocaTree/model/MocaTree.ecore#//Node\"/>\r\n      </objectVariable>\r\n      <objectVariable name=\"titleAttr\" incomingLink=\"//@ownedActivityNode.0/@storyPattern/@linkVariable.1\" bindingState=\"BOUND\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"platform:/plugin/org.moflon.moca.MocaTree/model/MocaTree.ecore#//Attribute\"/>\r\n      </objectVariable>\r\n      <objectVariable name=\"packageNameAttr\" incomingLink=\"//@ownedActivityNode.0/@storyPattern/@linkVariable.2\" bindingState=\"BOUND\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"platform:/plugin/org.moflon.moca.MocaTree/model/MocaTree.ecore#//Attribute\"/>\r\n      </objectVariable>\r\n      <objectVariable name=\"androidPlayLibraryPathAttr\" incomingLink=\"//@ownedActivityNode.0/@storyPattern/@linkVariable.3\" bindingState=\"BOUND\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"platform:/plugin/org.moflon.moca.MocaTree/model/MocaTree.ecore#//Attribute\"/>\r\n      </objectVariable>\r\n      <objectVariable name=\"androidMapsApiKeyAttr\" incomingLink=\"//@ownedActivityNode.0/@storyPattern/@linkVariable.4\" bindingState=\"BOUND\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"platform:/plugin/org.moflon.moca.MocaTree/model/MocaTree.ecore#//Attribute\"/>\r\n      </objectVariable>\r\n      <objectVariable name=\"mApplicationToApplication\" incomingLink=\"//@ownedActivityNode.0/@storyPattern/@linkVariable.5\" bindingState=\"BOUND\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"http://www.moflon.org.BlipTGG#//MApplicationToApplication\"/>\r\n      </objectVariable>\r\n      <objectVariable name=\"application\" incomingLink=\"//@ownedActivityNode.0/@storyPattern/@linkVariable.6\" bindingState=\"BOUND\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"platform:/resource/BlipLanguage/model/BlipLanguage.ecore#//BlipApplication\"/>\r\n      </objectVariable>\r\n      <linkVariable name=\"translatedElements\" target=\"//@ownedActivityNode.0/@storyPattern/@objectVariable.1\" source=\"//@ownedActivityNode.0/@storyPattern/@objectVariable.0\" bindingOperator=\"CREATE\"/>\r\n      <linkVariable name=\"translatedElements\" target=\"//@ownedActivityNode.0/@storyPattern/@objectVariable.2\" source=\"//@ownedActivityNode.0/@storyPattern/@objectVariable.0\" bindingOperator=\"CREATE\"/>\r\n      <linkVariable name=\"translatedElements\" target=\"//@ownedActivityNode.0/@storyPattern/@objectVariable.3\" source=\"//@ownedActivityNode.0/@storyPattern/@objectVariable.0\" bindingOperator=\"CREATE\"/>\r\n      <linkVariable name=\"translatedElements\" target=\"//@ownedActivityNode.0/@storyPattern/@objectVariable.4\" source=\"//@ownedActivityNode.0/@storyPattern/@objectVariable.0\" bindingOperator=\"CREATE\"/>\r\n      <linkVariable name=\"translatedElements\" target=\"//@ownedActivityNode.0/@storyPattern/@objectVariable.5\" source=\"//@ownedActivityNode.0/@storyPattern/@objectVariable.0\" bindingOperator=\"CREATE\"/>\r\n      <linkVariable name=\"createdLinkElements\" target=\"//@ownedActivityNode.0/@storyPattern/@objectVariable.6\" source=\"//@ownedActivityNode.0/@storyPattern/@objectVariable.0\" bindingOperator=\"CREATE\"/>\r\n      <linkVariable name=\"createdElements\" target=\"//@ownedActivityNode.0/@storyPattern/@objectVariable.7\" source=\"//@ownedActivityNode.0/@storyPattern/@objectVariable.0\" bindingOperator=\"CREATE\"/>\r\n    </storyPattern>\r\n  </ownedActivityNode>\r\n  <ownedActivityNode xsi:type=\"activities:StoryNode\" name=\"perform transformation\" outgoing=\"//@ownedActivityEdge.1\" incoming=\"//@ownedActivityEdge.0\">\r\n    <storyPattern xsi:type=\"TGGLanguage:TGGRule\" name=\"MApplicationToApplicationRule\" cspSpec=\"&#xD;&#xA;&#x9;&#x9;eq(titleAttr.value, application.title)&#xD;&#xA;&#x9;&#x9;eq(packageNameAttr.value, application.packageName)&#xD;&#xA;&#x9;&#x9;eq(androidPlayLibraryPathAttr.value, application.androidPlayLibraryPath)&#xD;&#xA;&#x9;&#x9;eq(androidMapsApiKeyAttr.value, application.androidMapsApiKey)&#xD;&#xA;&#x9;\">\r\n      <objectVariable xsi:type=\"TGGLanguage:TGGObjectVariable\" name=\"applicationNode\" incomingLink=\"//@ownedActivityNode.1/@storyPattern/@linkVariable.0\" bindingState=\"BOUND\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"platform:/plugin/org.moflon.moca.MocaTree/model/MocaTree.ecore#//Node\"/>\r\n        <bindingExpression xsi:type=\"expressions:LiteralExpression\" value=\"isApplicableMatch.getObject(&quot;applicationNode&quot;)\"/>\r\n        <constraint>\r\n          <constraintExpression xsi:type=\"expressions:ComparisonExpression\" operator=\"EQUAL\">\r\n            <rightExpression xsi:type=\"expressions:LiteralExpression\" value=\"&quot;Application&quot;\"/>\r\n            <leftExpression xsi:type=\"patternExpressions:AttributeValueExpression\">\r\n              <attribute href=\"platform:/plugin/org.moflon.moca.MocaTree/model/MocaTree.ecore#//TreeElement/name\"/>\r\n            </leftExpression>\r\n          </constraintExpression>\r\n        </constraint>\r\n        <domain href=\"platform:/resource/BlipTGG/model/BlipTGG.tgg.xmi#//@domain.0\"/>\r\n      </objectVariable>\r\n      <objectVariable xsi:type=\"TGGLanguage:TGGObjectVariable\" name=\"titleAttr\" bindingState=\"BOUND\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"platform:/plugin/org.moflon.moca.MocaTree/model/MocaTree.ecore#//Attribute\"/>\r\n        <bindingExpression xsi:type=\"expressions:LiteralExpression\" value=\"isApplicableMatch.getObject(&quot;titleAttr&quot;)\"/>\r\n        <constraint>\r\n          <constraintExpression xsi:type=\"expressions:ComparisonExpression\" operator=\"EQUAL\">\r\n            <rightExpression xsi:type=\"expressions:LiteralExpression\" value=\"&quot;title&quot;\"/>\r\n            <leftExpression xsi:type=\"patternExpressions:AttributeValueExpression\">\r\n              <attribute href=\"platform:/plugin/org.moflon.moca.MocaTree/model/MocaTree.ecore#//TreeElement/name\"/>\r\n            </leftExpression>\r\n          </constraintExpression>\r\n        </constraint>\r\n        <domain href=\"platform:/resource/BlipTGG/model/BlipTGG.tgg.xmi#//@domain.0\"/>\r\n      </objectVariable>\r\n      <objectVariable xsi:type=\"TGGLanguage:TGGObjectVariable\" name=\"packageNameAttr\" bindingState=\"BOUND\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"platform:/plugin/org.moflon.moca.MocaTree/model/MocaTree.ecore#//Attribute\"/>\r\n        <bindingExpression xsi:type=\"expressions:LiteralExpression\" value=\"isApplicableMatch.getObject(&quot;packageNameAttr&quot;)\"/>\r\n        <constraint>\r\n          <constraintExpression xsi:type=\"expressions:ComparisonExpression\" operator=\"EQUAL\">\r\n            <rightExpression xsi:type=\"expressions:LiteralExpression\" value=\"&quot;packageName&quot;\"/>\r\n            <leftExpression xsi:type=\"patternExpressions:AttributeValueExpression\">\r\n              <attribute href=\"platform:/plugin/org.moflon.moca.MocaTree/model/MocaTree.ecore#//TreeElement/name\"/>\r\n            </leftExpression>\r\n          </constraintExpression>\r\n        </constraint>\r\n        <domain href=\"platform:/resource/BlipTGG/model/BlipTGG.tgg.xmi#//@domain.0\"/>\r\n      </objectVariable>\r\n      <objectVariable xsi:type=\"TGGLanguage:TGGObjectVariable\" name=\"androidPlayLibraryPathAttr\" bindingState=\"BOUND\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"platform:/plugin/org.moflon.moca.MocaTree/model/MocaTree.ecore#//Attribute\"/>\r\n        <bindingExpression xsi:type=\"expressions:LiteralExpression\" value=\"isApplicableMatch.getObject(&quot;androidPlayLibraryPathAttr&quot;)\"/>\r\n        <constraint>\r\n          <constraintExpression xsi:type=\"expressions:ComparisonExpression\" operator=\"EQUAL\">\r\n            <rightExpression xsi:type=\"expressions:LiteralExpression\" value=\"&quot;androidPlayLibraryPath&quot;\"/>\r\n            <leftExpression xsi:type=\"patternExpressions:AttributeValueExpression\">\r\n              <attribute href=\"platform:/plugin/org.moflon.moca.MocaTree/model/MocaTree.ecore#//TreeElement/name\"/>\r\n            </leftExpression>\r\n          </constraintExpression>\r\n        </constraint>\r\n        <domain href=\"platform:/resource/BlipTGG/model/BlipTGG.tgg.xmi#//@domain.0\"/>\r\n      </objectVariable>\r\n      <objectVariable xsi:type=\"TGGLanguage:TGGObjectVariable\" name=\"androidMapsApiKeyAttr\" bindingState=\"BOUND\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"platform:/plugin/org.moflon.moca.MocaTree/model/MocaTree.ecore#//Attribute\"/>\r\n        <bindingExpression xsi:type=\"expressions:LiteralExpression\" value=\"isApplicableMatch.getObject(&quot;androidMapsApiKeyAttr&quot;)\"/>\r\n        <constraint>\r\n          <constraintExpression xsi:type=\"expressions:ComparisonExpression\" operator=\"EQUAL\">\r\n            <rightExpression xsi:type=\"expressions:LiteralExpression\" value=\"&quot;androidMapsApiKey&quot;\"/>\r\n            <leftExpression xsi:type=\"patternExpressions:AttributeValueExpression\">\r\n              <attribute href=\"platform:/plugin/org.moflon.moca.MocaTree/model/MocaTree.ecore#//TreeElement/name\"/>\r\n            </leftExpression>\r\n          </constraintExpression>\r\n        </constraint>\r\n        <domain href=\"platform:/resource/BlipTGG/model/BlipTGG.tgg.xmi#//@domain.0\"/>\r\n      </objectVariable>\r\n      <objectVariable xsi:type=\"TGGLanguage:TGGObjectVariable\" name=\"mApplicationToApplication\" outgoingLink=\"//@ownedActivityNode.1/@storyPattern/@linkVariable.0 //@ownedActivityNode.1/@storyPattern/@linkVariable.1\" bindingOperator=\"CREATE\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"http://www.moflon.org.BlipTGG#//MApplicationToApplication\"/>\r\n        <domain href=\"platform:/resource/BlipTGG/model/BlipTGG.tgg.xmi#//@domain.2\"/>\r\n      </objectVariable>\r\n      <objectVariable xsi:type=\"TGGLanguage:TGGObjectVariable\" name=\"application\" incomingLink=\"//@ownedActivityNode.1/@storyPattern/@linkVariable.1\" bindingOperator=\"CREATE\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"platform:/resource/BlipLanguage/model/BlipLanguage.ecore#//BlipApplication\"/>\r\n        <attributeAssignment>\r\n          <attribute href=\"platform:/resource/BlipLanguage/model/BlipLanguage.ecore#//BlipApplication/title\"/>\r\n          <valueExpression xsi:type=\"expressions:LiteralExpression\" value=\"(java.lang.String)csp.getAttributeVariable(&quot;application&quot;,&quot;title&quot;).getValue()\"/>\r\n        </attributeAssignment>\r\n        <attributeAssignment>\r\n          <attribute href=\"platform:/resource/BlipLanguage/model/BlipLanguage.ecore#//BlipApplication/packageName\"/>\r\n          <valueExpression xsi:type=\"expressions:LiteralExpression\" value=\"(java.lang.String)csp.getAttributeVariable(&quot;application&quot;,&quot;packageName&quot;).getValue()\"/>\r\n        </attributeAssignment>\r\n        <attributeAssignment>\r\n          <attribute href=\"platform:/resource/BlipLanguage/model/BlipLanguage.ecore#//BlipApplication/androidPlayLibraryPath\"/>\r\n          <valueExpression xsi:type=\"expressions:LiteralExpression\" value=\"(java.lang.String)csp.getAttributeVariable(&quot;application&quot;,&quot;androidPlayLibraryPath&quot;).getValue()\"/>\r\n        </attributeAssignment>\r\n        <attributeAssignment>\r\n          <attribute href=\"platform:/resource/BlipLanguage/model/BlipLanguage.ecore#//BlipApplication/androidMapsApiKey\"/>\r\n          <valueExpression xsi:type=\"expressions:LiteralExpression\" value=\"(java.lang.String)csp.getAttributeVariable(&quot;application&quot;,&quot;androidMapsApiKey&quot;).getValue()\"/>\r\n        </attributeAssignment>\r\n        <domain href=\"platform:/resource/BlipTGG/model/BlipTGG.tgg.xmi#//@domain.1\"/>\r\n      </objectVariable>\r\n      <objectVariable name=\"csp\" incomingLink=\"//@ownedActivityNode.1/@storyPattern/@linkVariable.2\" bindingSemantics=\"OPTIONAL\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"http://www.moflon.org.TGGLanguage#//csp/CSP\"/>\r\n      </objectVariable>\r\n      <objectVariable name=\"this\" bindingState=\"BOUND\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"http://www.moflon.org.BlipTGG#//Rules/MApplicationToApplicationRule\"/>\r\n        <bindingExpression xsi:type=\"expressions:LiteralExpression\" value=\"isApplicableMatch.getObject(&quot;this&quot;)\"/>\r\n      </objectVariable>\r\n      <objectVariable name=\"isApplicableMatch\" outgoingLink=\"//@ownedActivityNode.1/@storyPattern/@linkVariable.2\" bindingState=\"BOUND\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"http://www.moflon.org.TGGRuntime#//IsApplicableMatch\"/>\r\n      </objectVariable>\r\n      <linkVariable xsi:type=\"TGGLanguage:TGGLinkVariable\" name=\"source\" target=\"//@ownedActivityNode.1/@storyPattern/@objectVariable.0\" source=\"//@ownedActivityNode.1/@storyPattern/@objectVariable.5\" bindingOperator=\"CREATE\">\r\n        <domain href=\"platform:/resource/BlipTGG/model/BlipTGG.tgg.xmi#//@domain.2\"/>\r\n      </linkVariable>\r\n      <linkVariable xsi:type=\"TGGLanguage:TGGLinkVariable\" name=\"target\" target=\"//@ownedActivityNode.1/@storyPattern/@objectVariable.6\" source=\"//@ownedActivityNode.1/@storyPattern/@objectVariable.5\" bindingOperator=\"CREATE\">\r\n        <domain href=\"platform:/resource/BlipTGG/model/BlipTGG.tgg.xmi#//@domain.2\"/>\r\n      </linkVariable>\r\n      <linkVariable name=\"attributeInfo\" target=\"//@ownedActivityNode.1/@storyPattern/@objectVariable.7\" source=\"//@ownedActivityNode.1/@storyPattern/@objectVariable.9\"/>\r\n      <correspondence href=\"platform:/resource/BlipTGG/model/BlipTGG.tgg.xmi#//@domain.2\"/>\r\n      <source href=\"platform:/resource/BlipTGG/model/BlipTGG.tgg.xmi#//@domain.0\"/>\r\n      <csp>\r\n        <constraints variables=\"//@ownedActivityNode.1/@storyPattern/@csp/@variables.0 //@ownedActivityNode.1/@storyPattern/@csp/@variables.1\" name=\"eq\">\r\n          <allowedAdornments value=\"BB\"/>\r\n          <allowedAdornments value=\"BF\"/>\r\n          <allowedAdornments value=\"FB\"/>\r\n        </constraints>\r\n        <constraints variables=\"//@ownedActivityNode.1/@storyPattern/@csp/@variables.2 //@ownedActivityNode.1/@storyPattern/@csp/@variables.3\" name=\"eq\">\r\n          <allowedAdornments value=\"BB\"/>\r\n          <allowedAdornments value=\"BF\"/>\r\n          <allowedAdornments value=\"FB\"/>\r\n        </constraints>\r\n        <constraints variables=\"//@ownedActivityNode.1/@storyPattern/@csp/@variables.4 //@ownedActivityNode.1/@storyPattern/@csp/@variables.5\" name=\"eq\">\r\n          <allowedAdornments value=\"BB\"/>\r\n          <allowedAdornments value=\"BF\"/>\r\n          <allowedAdornments value=\"FB\"/>\r\n        </constraints>\r\n        <constraints variables=\"//@ownedActivityNode.1/@storyPattern/@csp/@variables.6 //@ownedActivityNode.1/@storyPattern/@csp/@variables.7\" name=\"eq\">\r\n          <allowedAdornments value=\"BB\"/>\r\n          <allowedAdornments value=\"BF\"/>\r\n          <allowedAdornments value=\"FB\"/>\r\n        </constraints>\r\n        <variables xsi:type=\"csp:AttributeVariable\" bound=\"true\" value=\"ACED00057400147469746C65417474722E67657456616C75652829\" type=\"String\" attribute=\"value\" objectVariable=\"titleAttr\"/>\r\n        <variables xsi:type=\"csp:AttributeVariable\" type=\"String\" attribute=\"title\" objectVariable=\"application\"/>\r\n        <variables xsi:type=\"csp:AttributeVariable\" bound=\"true\" value=\"ACED000574001A7061636B6167654E616D65417474722E67657456616C75652829\" type=\"String\" attribute=\"value\" objectVariable=\"packageNameAttr\"/>\r\n        <variables xsi:type=\"csp:AttributeVariable\" type=\"String\" attribute=\"packageName\" objectVariable=\"application\"/>\r\n        <variables xsi:type=\"csp:AttributeVariable\" bound=\"true\" value=\"ACED0005740025616E64726F6964506C61794C69627261727950617468417474722E67657456616C75652829\" type=\"String\" attribute=\"value\" objectVariable=\"androidPlayLibraryPathAttr\"/>\r\n        <variables xsi:type=\"csp:AttributeVariable\" type=\"String\" attribute=\"androidPlayLibraryPath\" objectVariable=\"application\"/>\r\n        <variables xsi:type=\"csp:AttributeVariable\" bound=\"true\" value=\"ACED0005740020616E64726F69644D6170734170694B6579417474722E67657456616C75652829\" type=\"String\" attribute=\"value\" objectVariable=\"androidMapsApiKeyAttr\"/>\r\n        <variables xsi:type=\"csp:AttributeVariable\" type=\"String\" attribute=\"androidMapsApiKey\" objectVariable=\"application\"/>\r\n        <forward variables=\"//@ownedActivityNode.1/@storyPattern/@csp/@variables.0 //@ownedActivityNode.1/@storyPattern/@csp/@variables.1 //@ownedActivityNode.1/@storyPattern/@csp/@variables.2 //@ownedActivityNode.1/@storyPattern/@csp/@variables.3 //@ownedActivityNode.1/@storyPattern/@csp/@variables.4 //@ownedActivityNode.1/@storyPattern/@csp/@variables.5 //@ownedActivityNode.1/@storyPattern/@csp/@variables.6 //@ownedActivityNode.1/@storyPattern/@csp/@variables.7\" constraints=\"//@ownedActivityNode.1/@storyPattern/@csp/@constraints.0 //@ownedActivityNode.1/@storyPattern/@csp/@constraints.1 //@ownedActivityNode.1/@storyPattern/@csp/@constraints.2 //@ownedActivityNode.1/@storyPattern/@csp/@constraints.3\"/>\r\n        <simultaneous variables=\"//@ownedActivityNode.1/@storyPattern/@csp/@variables.0 //@ownedActivityNode.1/@storyPattern/@csp/@variables.1 //@ownedActivityNode.1/@storyPattern/@csp/@variables.2 //@ownedActivityNode.1/@storyPattern/@csp/@variables.3 //@ownedActivityNode.1/@storyPattern/@csp/@variables.4 //@ownedActivityNode.1/@storyPattern/@csp/@variables.5 //@ownedActivityNode.1/@storyPattern/@csp/@variables.6 //@ownedActivityNode.1/@storyPattern/@csp/@variables.7\" constraints=\"//@ownedActivityNode.1/@storyPattern/@csp/@constraints.0 //@ownedActivityNode.1/@storyPattern/@csp/@constraints.1 //@ownedActivityNode.1/@storyPattern/@csp/@constraints.2 //@ownedActivityNode.1/@storyPattern/@csp/@constraints.3\"/>\r\n        <backward variables=\"//@ownedActivityNode.1/@storyPattern/@csp/@variables.0 //@ownedActivityNode.1/@storyPattern/@csp/@variables.1 //@ownedActivityNode.1/@storyPattern/@csp/@variables.2 //@ownedActivityNode.1/@storyPattern/@csp/@variables.3 //@ownedActivityNode.1/@storyPattern/@csp/@variables.4 //@ownedActivityNode.1/@storyPattern/@csp/@variables.5 //@ownedActivityNode.1/@storyPattern/@csp/@variables.6 //@ownedActivityNode.1/@storyPattern/@csp/@variables.7\" constraints=\"//@ownedActivityNode.1/@storyPattern/@csp/@constraints.0 //@ownedActivityNode.1/@storyPattern/@csp/@constraints.1 //@ownedActivityNode.1/@storyPattern/@csp/@constraints.2 //@ownedActivityNode.1/@storyPattern/@csp/@constraints.3\"/>\r\n        <source/>\r\n        <target/>\r\n      </csp>\r\n      <target href=\"platform:/resource/BlipTGG/model/BlipTGG.tgg.xmi#//@domain.1\"/>\r\n    </storyPattern>\r\n  </ownedActivityNode>\r\n  <ownedActivityNode xsi:type=\"activities:StopNode\" incoming=\"//@ownedActivityEdge.2\">\r\n    <returnValue xsi:type=\"patternExpressions:ObjectVariableExpression\" object=\"//@ownedActivityNode.0/@storyPattern/@objectVariable.0\"/>\r\n  </ownedActivityNode>\r\n  <ownedActivityNode xsi:type=\"activities:StartNode\" outgoing=\"//@ownedActivityEdge.0\"/>\r\n  <ownedActivityNode xsi:type=\"activities:StatementNode\" name=\"perform postprocessing\" outgoing=\"//@ownedActivityEdge.2\" incoming=\"//@ownedActivityEdge.4\">\r\n    <statementExpression xsi:type=\"expressions:LiteralExpression\" value=\"// No post processing method found\"/>\r\n  </ownedActivityNode>\r\n  <ownedActivityNode xsi:type=\"activities:StoryNode\" name=\"bookkeeping for edges\" outgoing=\"//@ownedActivityEdge.4\" incoming=\"//@ownedActivityEdge.3\">\r\n    <storyPattern>\r\n      <objectVariable name=\"ruleresult\" outgoingLink=\"//@ownedActivityNode.5/@storyPattern/@linkVariable.0 //@ownedActivityNode.5/@storyPattern/@linkVariable.3 //@ownedActivityNode.5/@storyPattern/@linkVariable.6 //@ownedActivityNode.5/@storyPattern/@linkVariable.9 //@ownedActivityNode.5/@storyPattern/@linkVariable.13 //@ownedActivityNode.5/@storyPattern/@linkVariable.16\" bindingState=\"BOUND\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"http://www.moflon.org.TGGRuntime#//PerformRuleResult\"/>\r\n      </objectVariable>\r\n      <objectVariable name=\"applicationNode\" incomingLink=\"//@ownedActivityNode.5/@storyPattern/@linkVariable.2 //@ownedActivityNode.5/@storyPattern/@linkVariable.5 //@ownedActivityNode.5/@storyPattern/@linkVariable.8 //@ownedActivityNode.5/@storyPattern/@linkVariable.11 //@ownedActivityNode.5/@storyPattern/@linkVariable.12\" bindingState=\"BOUND\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"http://www.eclipse.org/emf/2002/Ecore#//EObject\"/>\r\n      </objectVariable>\r\n      <objectVariable name=\"titleAttr\" incomingLink=\"//@ownedActivityNode.5/@storyPattern/@linkVariable.1\" bindingState=\"BOUND\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"http://www.eclipse.org/emf/2002/Ecore#//EObject\"/>\r\n      </objectVariable>\r\n      <objectVariable name=\"packageNameAttr\" incomingLink=\"//@ownedActivityNode.5/@storyPattern/@linkVariable.4\" bindingState=\"BOUND\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"http://www.eclipse.org/emf/2002/Ecore#//EObject\"/>\r\n      </objectVariable>\r\n      <objectVariable name=\"androidPlayLibraryPathAttr\" incomingLink=\"//@ownedActivityNode.5/@storyPattern/@linkVariable.7\" bindingState=\"BOUND\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"http://www.eclipse.org/emf/2002/Ecore#//EObject\"/>\r\n      </objectVariable>\r\n      <objectVariable name=\"androidMapsApiKeyAttr\" incomingLink=\"//@ownedActivityNode.5/@storyPattern/@linkVariable.10\" bindingState=\"BOUND\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"http://www.eclipse.org/emf/2002/Ecore#//EObject\"/>\r\n      </objectVariable>\r\n      <objectVariable name=\"mApplicationToApplication\" incomingLink=\"//@ownedActivityNode.5/@storyPattern/@linkVariable.14 //@ownedActivityNode.5/@storyPattern/@linkVariable.17\" bindingState=\"BOUND\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"http://www.eclipse.org/emf/2002/Ecore#//EObject\"/>\r\n      </objectVariable>\r\n      <objectVariable name=\"application\" incomingLink=\"//@ownedActivityNode.5/@storyPattern/@linkVariable.15\" bindingState=\"BOUND\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"http://www.eclipse.org/emf/2002/Ecore#//EObject\"/>\r\n      </objectVariable>\r\n      <objectVariable name=\"applicationNode__attribute__titleAttr\" incomingLink=\"//@ownedActivityNode.5/@storyPattern/@linkVariable.0\" outgoingLink=\"//@ownedActivityNode.5/@storyPattern/@linkVariable.2 //@ownedActivityNode.5/@storyPattern/@linkVariable.1\" bindingOperator=\"CREATE\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"http://www.moflon.org.TGGRuntime#//Edge\"/>\r\n        <attributeAssignment>\r\n          <attribute href=\"http://www.moflon.org.TGGRuntime#//Edge/name\"/>\r\n          <valueExpression xsi:type=\"expressions:LiteralExpression\" value=\"&quot;attribute&quot;\"/>\r\n        </attributeAssignment>\r\n      </objectVariable>\r\n      <objectVariable name=\"applicationNode__attribute__packageNameAttr\" incomingLink=\"//@ownedActivityNode.5/@storyPattern/@linkVariable.3\" outgoingLink=\"//@ownedActivityNode.5/@storyPattern/@linkVariable.5 //@ownedActivityNode.5/@storyPattern/@linkVariable.4\" bindingOperator=\"CREATE\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"http://www.moflon.org.TGGRuntime#//Edge\"/>\r\n        <attributeAssignment>\r\n          <attribute href=\"http://www.moflon.org.TGGRuntime#//Edge/name\"/>\r\n          <valueExpression xsi:type=\"expressions:LiteralExpression\" value=\"&quot;attribute&quot;\"/>\r\n        </attributeAssignment>\r\n      </objectVariable>\r\n      <objectVariable name=\"applicationNode__attribute__androidPlayLibraryPathAttr\" incomingLink=\"//@ownedActivityNode.5/@storyPattern/@linkVariable.6\" outgoingLink=\"//@ownedActivityNode.5/@storyPattern/@linkVariable.8 //@ownedActivityNode.5/@storyPattern/@linkVariable.7\" bindingOperator=\"CREATE\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"http://www.moflon.org.TGGRuntime#//Edge\"/>\r\n        <attributeAssignment>\r\n          <attribute href=\"http://www.moflon.org.TGGRuntime#//Edge/name\"/>\r\n          <valueExpression xsi:type=\"expressions:LiteralExpression\" value=\"&quot;attribute&quot;\"/>\r\n        </attributeAssignment>\r\n      </objectVariable>\r\n      <objectVariable name=\"applicationNode__attribute__androidMapsApiKeyAttr\" incomingLink=\"//@ownedActivityNode.5/@storyPattern/@linkVariable.9\" outgoingLink=\"//@ownedActivityNode.5/@storyPattern/@linkVariable.11 //@ownedActivityNode.5/@storyPattern/@linkVariable.10\" bindingOperator=\"CREATE\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"http://www.moflon.org.TGGRuntime#//Edge\"/>\r\n        <attributeAssignment>\r\n          <attribute href=\"http://www.moflon.org.TGGRuntime#//Edge/name\"/>\r\n          <valueExpression xsi:type=\"expressions:LiteralExpression\" value=\"&quot;attribute&quot;\"/>\r\n        </attributeAssignment>\r\n      </objectVariable>\r\n      <objectVariable name=\"mApplicationToApplication__source__applicationNode\" incomingLink=\"//@ownedActivityNode.5/@storyPattern/@linkVariable.13\" outgoingLink=\"//@ownedActivityNode.5/@storyPattern/@linkVariable.12 //@ownedActivityNode.5/@storyPattern/@linkVariable.14\" bindingOperator=\"CREATE\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"http://www.moflon.org.TGGRuntime#//Edge\"/>\r\n        <attributeAssignment>\r\n          <attribute href=\"http://www.moflon.org.TGGRuntime#//Edge/name\"/>\r\n          <valueExpression xsi:type=\"expressions:LiteralExpression\" value=\"&quot;source&quot;\"/>\r\n        </attributeAssignment>\r\n      </objectVariable>\r\n      <objectVariable name=\"mApplicationToApplication__target__application\" incomingLink=\"//@ownedActivityNode.5/@storyPattern/@linkVariable.16\" outgoingLink=\"//@ownedActivityNode.5/@storyPattern/@linkVariable.15 //@ownedActivityNode.5/@storyPattern/@linkVariable.17\" bindingOperator=\"CREATE\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"http://www.moflon.org.TGGRuntime#//Edge\"/>\r\n        <attributeAssignment>\r\n          <attribute href=\"http://www.moflon.org.TGGRuntime#//Edge/name\"/>\r\n          <valueExpression xsi:type=\"expressions:LiteralExpression\" value=\"&quot;target&quot;\"/>\r\n        </attributeAssignment>\r\n      </objectVariable>\r\n      <linkVariable name=\"translatedEdges\" target=\"//@ownedActivityNode.5/@storyPattern/@objectVariable.8\" source=\"//@ownedActivityNode.5/@storyPattern/@objectVariable.0\" bindingOperator=\"CREATE\"/>\r\n      <linkVariable name=\"trg\" target=\"//@ownedActivityNode.5/@storyPattern/@objectVariable.2\" source=\"//@ownedActivityNode.5/@storyPattern/@objectVariable.8\" bindingOperator=\"CREATE\"/>\r\n      <linkVariable name=\"src\" target=\"//@ownedActivityNode.5/@storyPattern/@objectVariable.1\" source=\"//@ownedActivityNode.5/@storyPattern/@objectVariable.8\" bindingOperator=\"CREATE\"/>\r\n      <linkVariable name=\"translatedEdges\" target=\"//@ownedActivityNode.5/@storyPattern/@objectVariable.9\" source=\"//@ownedActivityNode.5/@storyPattern/@objectVariable.0\" bindingOperator=\"CREATE\"/>\r\n      <linkVariable name=\"trg\" target=\"//@ownedActivityNode.5/@storyPattern/@objectVariable.3\" source=\"//@ownedActivityNode.5/@storyPattern/@objectVariable.9\" bindingOperator=\"CREATE\"/>\r\n      <linkVariable name=\"src\" target=\"//@ownedActivityNode.5/@storyPattern/@objectVariable.1\" source=\"//@ownedActivityNode.5/@storyPattern/@objectVariable.9\" bindingOperator=\"CREATE\"/>\r\n      <linkVariable name=\"translatedEdges\" target=\"//@ownedActivityNode.5/@storyPattern/@objectVariable.10\" source=\"//@ownedActivityNode.5/@storyPattern/@objectVariable.0\" bindingOperator=\"CREATE\"/>\r\n      <linkVariable name=\"trg\" target=\"//@ownedActivityNode.5/@storyPattern/@objectVariable.4\" source=\"//@ownedActivityNode.5/@storyPattern/@objectVariable.10\" bindingOperator=\"CREATE\"/>\r\n      <linkVariable name=\"src\" target=\"//@ownedActivityNode.5/@storyPattern/@objectVariable.1\" source=\"//@ownedActivityNode.5/@storyPattern/@objectVariable.10\" bindingOperator=\"CREATE\"/>\r\n      <linkVariable name=\"translatedEdges\" target=\"//@ownedActivityNode.5/@storyPattern/@objectVariable.11\" source=\"//@ownedActivityNode.5/@storyPattern/@objectVariable.0\" bindingOperator=\"CREATE\"/>\r\n      <linkVariable name=\"trg\" target=\"//@ownedActivityNode.5/@storyPattern/@objectVariable.5\" source=\"//@ownedActivityNode.5/@storyPattern/@objectVariable.11\" bindingOperator=\"CREATE\"/>\r\n      <linkVariable name=\"src\" target=\"//@ownedActivityNode.5/@storyPattern/@objectVariable.1\" source=\"//@ownedActivityNode.5/@storyPattern/@objectVariable.11\" bindingOperator=\"CREATE\"/>\r\n      <linkVariable name=\"trg\" target=\"//@ownedActivityNode.5/@storyPattern/@objectVariable.1\" source=\"//@ownedActivityNode.5/@storyPattern/@objectVariable.12\" bindingOperator=\"CREATE\"/>\r\n      <linkVariable name=\"createdEdges\" target=\"//@ownedActivityNode.5/@storyPattern/@objectVariable.12\" source=\"//@ownedActivityNode.5/@storyPattern/@objectVariable.0\" bindingOperator=\"CREATE\"/>\r\n      <linkVariable name=\"src\" target=\"//@ownedActivityNode.5/@storyPattern/@objectVariable.6\" source=\"//@ownedActivityNode.5/@storyPattern/@objectVariable.12\" bindingOperator=\"CREATE\"/>\r\n      <linkVariable name=\"trg\" target=\"//@ownedActivityNode.5/@storyPattern/@objectVariable.7\" source=\"//@ownedActivityNode.5/@storyPattern/@objectVariable.13\" bindingOperator=\"CREATE\"/>\r\n      <linkVariable name=\"createdEdges\" target=\"//@ownedActivityNode.5/@storyPattern/@objectVariable.13\" source=\"//@ownedActivityNode.5/@storyPattern/@objectVariable.0\" bindingOperator=\"CREATE\"/>\r\n      <linkVariable name=\"src\" target=\"//@ownedActivityNode.5/@storyPattern/@objectVariable.6\" source=\"//@ownedActivityNode.5/@storyPattern/@objectVariable.13\" bindingOperator=\"CREATE\"/>\r\n    </storyPattern>\r\n  </ownedActivityNode>\r\n  <ownedActivityEdge source=\"//@ownedActivityNode.3\" target=\"//@ownedActivityNode.1\"/>\r\n  <ownedActivityEdge source=\"//@ownedActivityNode.1\" target=\"//@ownedActivityNode.0\"/>\r\n  <ownedActivityEdge source=\"//@ownedActivityNode.4\" target=\"//@ownedActivityNode.2\"/>\r\n  <ownedActivityEdge source=\"//@ownedActivityNode.0\" target=\"//@ownedActivityNode.5\"/>\r\n  <ownedActivityEdge source=\"//@ownedActivityNode.5\" target=\"//@ownedActivityNode.4\"/>\r\n</activities:Activity>\r\n" });
		addAnnotation(
				getMApplicationToApplicationRule__IsAppropriate_FWD__Match_Node_Attribute_Attribute_Attribute_Attribute(),
				source,
				new String[] {
						"XMI",
						"<?xml version=\"1.0\" encoding=\"UTF-8\"?>\r\n<activities:Activity xmi:version=\"2.0\" xmlns:xmi=\"http://www.omg.org/XMI\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:activities=\"http://www.moflon.org.SDMLanguage.activities\" xmlns:ecore=\"http://www.eclipse.org/emf/2002/Ecore\" xmlns:expressions=\"http://www.moflon.org.SDMLanguage.expressions\">\r\n  <ownedActivityNode xsi:type=\"activities:StatementNode\" name=\"Check CSP\" outgoing=\"//@ownedActivityEdge.3 //@ownedActivityEdge.5\" incoming=\"//@ownedActivityEdge.1\">\r\n    <statementExpression xsi:type=\"expressions:LiteralExpression\" value=\"csp.check();\"/>\r\n  </ownedActivityNode>\r\n  <ownedActivityNode xsi:type=\"activities:StatementNode\" name=\"Solve CSP\" outgoing=\"//@ownedActivityEdge.1\" incoming=\"//@ownedActivityEdge.2\">\r\n    <statementExpression xsi:type=\"expressions:LiteralExpression\" value=\"// Create CSP&#xD;&#xA;CSP csp = CspFactory.eINSTANCE.createCSP();&#xD;&#xA;&#xD;&#xA;// Create literals&#xD;&#xA;&#xD;&#xA;// Create attribute variables&#xD;&#xA;&#xD;&#xA;// Create explicit parameters&#xD;&#xA;&#xD;&#xA;// Create unbound variables&#xD;&#xA;&#xD;&#xA;// Create constraints&#xD;&#xA;&#xD;&#xA;&#xD;&#xA;&#xD;&#xA;&#xD;&#xA;// Solve CSP&#xD;&#xA;\"/>\r\n  </ownedActivityNode>\r\n  <ownedActivityNode xsi:type=\"activities:StopNode\" incoming=\"//@ownedActivityEdge.3\">\r\n    <returnValue xsi:type=\"expressions:LiteralExpression\" value=\"false\"/>\r\n  </ownedActivityNode>\r\n  <ownedActivityNode xsi:type=\"activities:StoryNode\" name=\"collect elements to be translated\" outgoing=\"//@ownedActivityEdge.0\" incoming=\"//@ownedActivityEdge.5\">\r\n    <storyPattern>\r\n      <objectVariable name=\"match\" outgoingLink=\"//@ownedActivityNode.3/@storyPattern/@linkVariable.0 //@ownedActivityNode.3/@storyPattern/@linkVariable.1 //@ownedActivityNode.3/@storyPattern/@linkVariable.2 //@ownedActivityNode.3/@storyPattern/@linkVariable.3 //@ownedActivityNode.3/@storyPattern/@linkVariable.4 //@ownedActivityNode.3/@storyPattern/@linkVariable.5 //@ownedActivityNode.3/@storyPattern/@linkVariable.8 //@ownedActivityNode.3/@storyPattern/@linkVariable.11 //@ownedActivityNode.3/@storyPattern/@linkVariable.14\" bindingState=\"BOUND\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"http://www.moflon.org.TGGRuntime#//Match\"/>\r\n      </objectVariable>\r\n      <objectVariable name=\"applicationNode\" incomingLink=\"//@ownedActivityNode.3/@storyPattern/@linkVariable.0 //@ownedActivityNode.3/@storyPattern/@linkVariable.6 //@ownedActivityNode.3/@storyPattern/@linkVariable.9 //@ownedActivityNode.3/@storyPattern/@linkVariable.12 //@ownedActivityNode.3/@storyPattern/@linkVariable.15\" bindingState=\"BOUND\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"platform:/plugin/org.moflon.moca.MocaTree/model/MocaTree.ecore#//Node\"/>\r\n      </objectVariable>\r\n      <objectVariable name=\"titleAttr\" incomingLink=\"//@ownedActivityNode.3/@storyPattern/@linkVariable.1 //@ownedActivityNode.3/@storyPattern/@linkVariable.7\" bindingState=\"BOUND\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"platform:/plugin/org.moflon.moca.MocaTree/model/MocaTree.ecore#//Attribute\"/>\r\n      </objectVariable>\r\n      <objectVariable name=\"packageNameAttr\" incomingLink=\"//@ownedActivityNode.3/@storyPattern/@linkVariable.2 //@ownedActivityNode.3/@storyPattern/@linkVariable.10\" bindingState=\"BOUND\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"platform:/plugin/org.moflon.moca.MocaTree/model/MocaTree.ecore#//Attribute\"/>\r\n      </objectVariable>\r\n      <objectVariable name=\"androidPlayLibraryPathAttr\" incomingLink=\"//@ownedActivityNode.3/@storyPattern/@linkVariable.3 //@ownedActivityNode.3/@storyPattern/@linkVariable.13\" bindingState=\"BOUND\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"platform:/plugin/org.moflon.moca.MocaTree/model/MocaTree.ecore#//Attribute\"/>\r\n      </objectVariable>\r\n      <objectVariable name=\"androidMapsApiKeyAttr\" incomingLink=\"//@ownedActivityNode.3/@storyPattern/@linkVariable.4 //@ownedActivityNode.3/@storyPattern/@linkVariable.16\" bindingState=\"BOUND\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"platform:/plugin/org.moflon.moca.MocaTree/model/MocaTree.ecore#//Attribute\"/>\r\n      </objectVariable>\r\n      <objectVariable name=\"applicationNode__attribute__titleAttr\" incomingLink=\"//@ownedActivityNode.3/@storyPattern/@linkVariable.5\" outgoingLink=\"//@ownedActivityNode.3/@storyPattern/@linkVariable.6 //@ownedActivityNode.3/@storyPattern/@linkVariable.7\" bindingOperator=\"CREATE\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"http://www.moflon.org.TGGRuntime#//Edge\"/>\r\n        <attributeAssignment>\r\n          <attribute href=\"http://www.moflon.org.TGGRuntime#//Edge/name\"/>\r\n          <valueExpression xsi:type=\"expressions:LiteralExpression\" value=\"&quot;attribute&quot;\"/>\r\n        </attributeAssignment>\r\n      </objectVariable>\r\n      <objectVariable name=\"applicationNode__attribute__packageNameAttr\" incomingLink=\"//@ownedActivityNode.3/@storyPattern/@linkVariable.8\" outgoingLink=\"//@ownedActivityNode.3/@storyPattern/@linkVariable.9 //@ownedActivityNode.3/@storyPattern/@linkVariable.10\" bindingOperator=\"CREATE\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"http://www.moflon.org.TGGRuntime#//Edge\"/>\r\n        <attributeAssignment>\r\n          <attribute href=\"http://www.moflon.org.TGGRuntime#//Edge/name\"/>\r\n          <valueExpression xsi:type=\"expressions:LiteralExpression\" value=\"&quot;attribute&quot;\"/>\r\n        </attributeAssignment>\r\n      </objectVariable>\r\n      <objectVariable name=\"applicationNode__attribute__androidPlayLibraryPathAttr\" incomingLink=\"//@ownedActivityNode.3/@storyPattern/@linkVariable.11\" outgoingLink=\"//@ownedActivityNode.3/@storyPattern/@linkVariable.12 //@ownedActivityNode.3/@storyPattern/@linkVariable.13\" bindingOperator=\"CREATE\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"http://www.moflon.org.TGGRuntime#//Edge\"/>\r\n        <attributeAssignment>\r\n          <attribute href=\"http://www.moflon.org.TGGRuntime#//Edge/name\"/>\r\n          <valueExpression xsi:type=\"expressions:LiteralExpression\" value=\"&quot;attribute&quot;\"/>\r\n        </attributeAssignment>\r\n      </objectVariable>\r\n      <objectVariable name=\"applicationNode__attribute__androidMapsApiKeyAttr\" incomingLink=\"//@ownedActivityNode.3/@storyPattern/@linkVariable.14\" outgoingLink=\"//@ownedActivityNode.3/@storyPattern/@linkVariable.15 //@ownedActivityNode.3/@storyPattern/@linkVariable.16\" bindingOperator=\"CREATE\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"http://www.moflon.org.TGGRuntime#//Edge\"/>\r\n        <attributeAssignment>\r\n          <attribute href=\"http://www.moflon.org.TGGRuntime#//Edge/name\"/>\r\n          <valueExpression xsi:type=\"expressions:LiteralExpression\" value=\"&quot;attribute&quot;\"/>\r\n        </attributeAssignment>\r\n      </objectVariable>\r\n      <linkVariable name=\"toBeTranslatedElements\" target=\"//@ownedActivityNode.3/@storyPattern/@objectVariable.1\" source=\"//@ownedActivityNode.3/@storyPattern/@objectVariable.0\" bindingOperator=\"CREATE\"/>\r\n      <linkVariable name=\"toBeTranslatedElements\" target=\"//@ownedActivityNode.3/@storyPattern/@objectVariable.2\" source=\"//@ownedActivityNode.3/@storyPattern/@objectVariable.0\" bindingOperator=\"CREATE\"/>\r\n      <linkVariable name=\"toBeTranslatedElements\" target=\"//@ownedActivityNode.3/@storyPattern/@objectVariable.3\" source=\"//@ownedActivityNode.3/@storyPattern/@objectVariable.0\" bindingOperator=\"CREATE\"/>\r\n      <linkVariable name=\"toBeTranslatedElements\" target=\"//@ownedActivityNode.3/@storyPattern/@objectVariable.4\" source=\"//@ownedActivityNode.3/@storyPattern/@objectVariable.0\" bindingOperator=\"CREATE\"/>\r\n      <linkVariable name=\"toBeTranslatedElements\" target=\"//@ownedActivityNode.3/@storyPattern/@objectVariable.5\" source=\"//@ownedActivityNode.3/@storyPattern/@objectVariable.0\" bindingOperator=\"CREATE\"/>\r\n      <linkVariable name=\"toBeTranslatedEdges\" target=\"//@ownedActivityNode.3/@storyPattern/@objectVariable.6\" source=\"//@ownedActivityNode.3/@storyPattern/@objectVariable.0\" bindingOperator=\"CREATE\"/>\r\n      <linkVariable name=\"src\" target=\"//@ownedActivityNode.3/@storyPattern/@objectVariable.1\" source=\"//@ownedActivityNode.3/@storyPattern/@objectVariable.6\" bindingOperator=\"CREATE\"/>\r\n      <linkVariable name=\"trg\" target=\"//@ownedActivityNode.3/@storyPattern/@objectVariable.2\" source=\"//@ownedActivityNode.3/@storyPattern/@objectVariable.6\" bindingOperator=\"CREATE\"/>\r\n      <linkVariable name=\"toBeTranslatedEdges\" target=\"//@ownedActivityNode.3/@storyPattern/@objectVariable.7\" source=\"//@ownedActivityNode.3/@storyPattern/@objectVariable.0\" bindingOperator=\"CREATE\"/>\r\n      <linkVariable name=\"src\" target=\"//@ownedActivityNode.3/@storyPattern/@objectVariable.1\" source=\"//@ownedActivityNode.3/@storyPattern/@objectVariable.7\" bindingOperator=\"CREATE\"/>\r\n      <linkVariable name=\"trg\" target=\"//@ownedActivityNode.3/@storyPattern/@objectVariable.3\" source=\"//@ownedActivityNode.3/@storyPattern/@objectVariable.7\" bindingOperator=\"CREATE\"/>\r\n      <linkVariable name=\"toBeTranslatedEdges\" target=\"//@ownedActivityNode.3/@storyPattern/@objectVariable.8\" source=\"//@ownedActivityNode.3/@storyPattern/@objectVariable.0\" bindingOperator=\"CREATE\"/>\r\n      <linkVariable name=\"src\" target=\"//@ownedActivityNode.3/@storyPattern/@objectVariable.1\" source=\"//@ownedActivityNode.3/@storyPattern/@objectVariable.8\" bindingOperator=\"CREATE\"/>\r\n      <linkVariable name=\"trg\" target=\"//@ownedActivityNode.3/@storyPattern/@objectVariable.4\" source=\"//@ownedActivityNode.3/@storyPattern/@objectVariable.8\" bindingOperator=\"CREATE\"/>\r\n      <linkVariable name=\"toBeTranslatedEdges\" target=\"//@ownedActivityNode.3/@storyPattern/@objectVariable.9\" source=\"//@ownedActivityNode.3/@storyPattern/@objectVariable.0\" bindingOperator=\"CREATE\"/>\r\n      <linkVariable name=\"src\" target=\"//@ownedActivityNode.3/@storyPattern/@objectVariable.1\" source=\"//@ownedActivityNode.3/@storyPattern/@objectVariable.9\" bindingOperator=\"CREATE\"/>\r\n      <linkVariable name=\"trg\" target=\"//@ownedActivityNode.3/@storyPattern/@objectVariable.5\" source=\"//@ownedActivityNode.3/@storyPattern/@objectVariable.9\" bindingOperator=\"CREATE\"/>\r\n    </storyPattern>\r\n  </ownedActivityNode>\r\n  <ownedActivityNode xsi:type=\"activities:StartNode\" outgoing=\"//@ownedActivityEdge.2\"/>\r\n  <ownedActivityNode xsi:type=\"activities:StoryNode\" name=\"collect context elements\" outgoing=\"//@ownedActivityEdge.4\" incoming=\"//@ownedActivityEdge.0\">\r\n    <storyPattern>\r\n      <objectVariable name=\"match\" bindingState=\"BOUND\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"http://www.moflon.org.TGGRuntime#//Match\"/>\r\n      </objectVariable>\r\n    </storyPattern>\r\n  </ownedActivityNode>\r\n  <ownedActivityNode xsi:type=\"activities:StopNode\" incoming=\"//@ownedActivityEdge.6\">\r\n    <returnValue xsi:type=\"expressions:LiteralExpression\" value=\"true\"/>\r\n  </ownedActivityNode>\r\n  <ownedActivityNode xsi:type=\"activities:StatementNode\" name=\"register objects to match\" outgoing=\"//@ownedActivityEdge.6\" incoming=\"//@ownedActivityEdge.4\">\r\n    <statementExpression xsi:type=\"expressions:LiteralExpression\" value=\"match.registerObject(&quot;applicationNode&quot;, applicationNode);&#xA;match.registerObject(&quot;titleAttr&quot;, titleAttr);&#xA;match.registerObject(&quot;packageNameAttr&quot;, packageNameAttr);&#xA;match.registerObject(&quot;androidPlayLibraryPathAttr&quot;, androidPlayLibraryPathAttr);&#xA;match.registerObject(&quot;androidMapsApiKeyAttr&quot;, androidMapsApiKeyAttr);&#xA;\"/>\r\n  </ownedActivityNode>\r\n  <ownedActivityEdge source=\"//@ownedActivityNode.3\" target=\"//@ownedActivityNode.5\"/>\r\n  <ownedActivityEdge source=\"//@ownedActivityNode.1\" target=\"//@ownedActivityNode.0\"/>\r\n  <ownedActivityEdge source=\"//@ownedActivityNode.4\" target=\"//@ownedActivityNode.1\"/>\r\n  <ownedActivityEdge source=\"//@ownedActivityNode.0\" target=\"//@ownedActivityNode.2\" guard=\"FAILURE\"/>\r\n  <ownedActivityEdge source=\"//@ownedActivityNode.5\" target=\"//@ownedActivityNode.7\"/>\r\n  <ownedActivityEdge source=\"//@ownedActivityNode.0\" target=\"//@ownedActivityNode.3\" guard=\"SUCCESS\"/>\r\n  <ownedActivityEdge source=\"//@ownedActivityNode.7\" target=\"//@ownedActivityNode.6\"/>\r\n</activities:Activity>\r\n" });
		addAnnotation(
				getMApplicationToApplicationRule__IsApplicable_FWD__Match(),
				source,
				new String[] {
						"XMI",
						"<?xml version=\"1.0\" encoding=\"UTF-8\"?>\r\n<activities:Activity xmi:version=\"2.0\" xmlns:xmi=\"http://www.omg.org/XMI\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:TGGLanguage=\"http://www.moflon.org.TGGLanguage\" xmlns:activities=\"http://www.moflon.org.SDMLanguage.activities\" xmlns:csp=\"http://www.moflon.org.TGGLanguage.csp\" xmlns:ecore=\"http://www.eclipse.org/emf/2002/Ecore\" xmlns:expressions=\"http://www.moflon.org.SDMLanguage.expressions\" xmlns:patternExpressions=\"http://www.moflon.org.SDMLanguage.patterns.patternExpressions\">\r\n  <ownedActivityNode xsi:type=\"activities:StoryNode\" name=\"core match\" outgoing=\"//@ownedActivityEdge.8\" incoming=\"//@ownedActivityEdge.2\">\r\n    <storyPattern xsi:type=\"TGGLanguage:TGGRule\" name=\"MApplicationToApplicationRule\" cspSpec=\"&#xD;&#xA;&#x9;&#x9;eq(titleAttr.value, application.title)&#xD;&#xA;&#x9;&#x9;eq(packageNameAttr.value, application.packageName)&#xD;&#xA;&#x9;&#x9;eq(androidPlayLibraryPathAttr.value, application.androidPlayLibraryPath)&#xD;&#xA;&#x9;&#x9;eq(androidMapsApiKeyAttr.value, application.androidMapsApiKey)&#xD;&#xA;&#x9;\">\r\n      <objectVariable xsi:type=\"TGGLanguage:TGGObjectVariable\" name=\"applicationNode\" bindingState=\"BOUND\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"platform:/plugin/org.moflon.moca.MocaTree/model/MocaTree.ecore#//Node\"/>\r\n        <bindingExpression xsi:type=\"expressions:LiteralExpression\" value=\"match.getObject(&quot;applicationNode&quot;)\"/>\r\n        <constraint>\r\n          <constraintExpression xsi:type=\"expressions:ComparisonExpression\" operator=\"EQUAL\">\r\n            <rightExpression xsi:type=\"expressions:LiteralExpression\" value=\"&quot;Application&quot;\"/>\r\n            <leftExpression xsi:type=\"patternExpressions:AttributeValueExpression\">\r\n              <attribute href=\"platform:/plugin/org.moflon.moca.MocaTree/model/MocaTree.ecore#//TreeElement/name\"/>\r\n            </leftExpression>\r\n          </constraintExpression>\r\n        </constraint>\r\n        <domain href=\"platform:/resource/BlipTGG/model/BlipTGG.tgg.xmi#//@domain.0\"/>\r\n      </objectVariable>\r\n      <objectVariable xsi:type=\"TGGLanguage:TGGObjectVariable\" name=\"titleAttr\" bindingState=\"BOUND\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"platform:/plugin/org.moflon.moca.MocaTree/model/MocaTree.ecore#//Attribute\"/>\r\n        <bindingExpression xsi:type=\"expressions:LiteralExpression\" value=\"match.getObject(&quot;titleAttr&quot;)\"/>\r\n        <constraint>\r\n          <constraintExpression xsi:type=\"expressions:ComparisonExpression\" operator=\"EQUAL\">\r\n            <rightExpression xsi:type=\"expressions:LiteralExpression\" value=\"&quot;title&quot;\"/>\r\n            <leftExpression xsi:type=\"patternExpressions:AttributeValueExpression\">\r\n              <attribute href=\"platform:/plugin/org.moflon.moca.MocaTree/model/MocaTree.ecore#//TreeElement/name\"/>\r\n            </leftExpression>\r\n          </constraintExpression>\r\n        </constraint>\r\n        <domain href=\"platform:/resource/BlipTGG/model/BlipTGG.tgg.xmi#//@domain.0\"/>\r\n      </objectVariable>\r\n      <objectVariable xsi:type=\"TGGLanguage:TGGObjectVariable\" name=\"packageNameAttr\" bindingState=\"BOUND\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"platform:/plugin/org.moflon.moca.MocaTree/model/MocaTree.ecore#//Attribute\"/>\r\n        <bindingExpression xsi:type=\"expressions:LiteralExpression\" value=\"match.getObject(&quot;packageNameAttr&quot;)\"/>\r\n        <constraint>\r\n          <constraintExpression xsi:type=\"expressions:ComparisonExpression\" operator=\"EQUAL\">\r\n            <rightExpression xsi:type=\"expressions:LiteralExpression\" value=\"&quot;packageName&quot;\"/>\r\n            <leftExpression xsi:type=\"patternExpressions:AttributeValueExpression\">\r\n              <attribute href=\"platform:/plugin/org.moflon.moca.MocaTree/model/MocaTree.ecore#//TreeElement/name\"/>\r\n            </leftExpression>\r\n          </constraintExpression>\r\n        </constraint>\r\n        <domain href=\"platform:/resource/BlipTGG/model/BlipTGG.tgg.xmi#//@domain.0\"/>\r\n      </objectVariable>\r\n      <objectVariable xsi:type=\"TGGLanguage:TGGObjectVariable\" name=\"androidPlayLibraryPathAttr\" bindingState=\"BOUND\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"platform:/plugin/org.moflon.moca.MocaTree/model/MocaTree.ecore#//Attribute\"/>\r\n        <bindingExpression xsi:type=\"expressions:LiteralExpression\" value=\"match.getObject(&quot;androidPlayLibraryPathAttr&quot;)\"/>\r\n        <constraint>\r\n          <constraintExpression xsi:type=\"expressions:ComparisonExpression\" operator=\"EQUAL\">\r\n            <rightExpression xsi:type=\"expressions:LiteralExpression\" value=\"&quot;androidPlayLibraryPath&quot;\"/>\r\n            <leftExpression xsi:type=\"patternExpressions:AttributeValueExpression\">\r\n              <attribute href=\"platform:/plugin/org.moflon.moca.MocaTree/model/MocaTree.ecore#//TreeElement/name\"/>\r\n            </leftExpression>\r\n          </constraintExpression>\r\n        </constraint>\r\n        <domain href=\"platform:/resource/BlipTGG/model/BlipTGG.tgg.xmi#//@domain.0\"/>\r\n      </objectVariable>\r\n      <objectVariable xsi:type=\"TGGLanguage:TGGObjectVariable\" name=\"androidMapsApiKeyAttr\" bindingState=\"BOUND\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"platform:/plugin/org.moflon.moca.MocaTree/model/MocaTree.ecore#//Attribute\"/>\r\n        <bindingExpression xsi:type=\"expressions:LiteralExpression\" value=\"match.getObject(&quot;androidMapsApiKeyAttr&quot;)\"/>\r\n        <constraint>\r\n          <constraintExpression xsi:type=\"expressions:ComparisonExpression\" operator=\"EQUAL\">\r\n            <rightExpression xsi:type=\"expressions:LiteralExpression\" value=\"&quot;androidMapsApiKey&quot;\"/>\r\n            <leftExpression xsi:type=\"patternExpressions:AttributeValueExpression\">\r\n              <attribute href=\"platform:/plugin/org.moflon.moca.MocaTree/model/MocaTree.ecore#//TreeElement/name\"/>\r\n            </leftExpression>\r\n          </constraintExpression>\r\n        </constraint>\r\n        <domain href=\"platform:/resource/BlipTGG/model/BlipTGG.tgg.xmi#//@domain.0\"/>\r\n      </objectVariable>\r\n      <objectVariable name=\"match\" bindingState=\"BOUND\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"http://www.moflon.org.TGGRuntime#//Match\"/>\r\n      </objectVariable>\r\n      <correspondence href=\"platform:/resource/BlipTGG/model/BlipTGG.tgg.xmi#//@domain.2\"/>\r\n      <source href=\"platform:/resource/BlipTGG/model/BlipTGG.tgg.xmi#//@domain.0\"/>\r\n      <csp>\r\n        <constraints variables=\"//@ownedActivityNode.0/@storyPattern/@csp/@variables.0 //@ownedActivityNode.0/@storyPattern/@csp/@variables.1\" name=\"eq\">\r\n          <allowedAdornments value=\"BB\"/>\r\n          <allowedAdornments value=\"BF\"/>\r\n          <allowedAdornments value=\"FB\"/>\r\n        </constraints>\r\n        <constraints variables=\"//@ownedActivityNode.0/@storyPattern/@csp/@variables.2 //@ownedActivityNode.0/@storyPattern/@csp/@variables.3\" name=\"eq\">\r\n          <allowedAdornments value=\"BB\"/>\r\n          <allowedAdornments value=\"BF\"/>\r\n          <allowedAdornments value=\"FB\"/>\r\n        </constraints>\r\n        <constraints variables=\"//@ownedActivityNode.0/@storyPattern/@csp/@variables.4 //@ownedActivityNode.0/@storyPattern/@csp/@variables.5\" name=\"eq\">\r\n          <allowedAdornments value=\"BB\"/>\r\n          <allowedAdornments value=\"BF\"/>\r\n          <allowedAdornments value=\"FB\"/>\r\n        </constraints>\r\n        <constraints variables=\"//@ownedActivityNode.0/@storyPattern/@csp/@variables.6 //@ownedActivityNode.0/@storyPattern/@csp/@variables.7\" name=\"eq\">\r\n          <allowedAdornments value=\"BB\"/>\r\n          <allowedAdornments value=\"BF\"/>\r\n          <allowedAdornments value=\"FB\"/>\r\n        </constraints>\r\n        <variables xsi:type=\"csp:AttributeVariable\" type=\"String\" attribute=\"value\" objectVariable=\"titleAttr\"/>\r\n        <variables xsi:type=\"csp:AttributeVariable\" type=\"String\" attribute=\"title\" objectVariable=\"application\"/>\r\n        <variables xsi:type=\"csp:AttributeVariable\" type=\"String\" attribute=\"value\" objectVariable=\"packageNameAttr\"/>\r\n        <variables xsi:type=\"csp:AttributeVariable\" type=\"String\" attribute=\"packageName\" objectVariable=\"application\"/>\r\n        <variables xsi:type=\"csp:AttributeVariable\" type=\"String\" attribute=\"value\" objectVariable=\"androidPlayLibraryPathAttr\"/>\r\n        <variables xsi:type=\"csp:AttributeVariable\" type=\"String\" attribute=\"androidPlayLibraryPath\" objectVariable=\"application\"/>\r\n        <variables xsi:type=\"csp:AttributeVariable\" type=\"String\" attribute=\"value\" objectVariable=\"androidMapsApiKeyAttr\"/>\r\n        <variables xsi:type=\"csp:AttributeVariable\" type=\"String\" attribute=\"androidMapsApiKey\" objectVariable=\"application\"/>\r\n      </csp>\r\n      <target href=\"platform:/resource/BlipTGG/model/BlipTGG.tgg.xmi#//@domain.1\"/>\r\n    </storyPattern>\r\n  </ownedActivityNode>\r\n  <ownedActivityNode xsi:type=\"activities:StoryNode\" name=\"prepare return value\" outgoing=\"//@ownedActivityEdge.2\" incoming=\"//@ownedActivityEdge.4\">\r\n    <storyPattern>\r\n      <objectVariable name=\"ruleresult\" outgoingLink=\"//@ownedActivityNode.1/@storyPattern/@linkVariable.1\" bindingOperator=\"CREATE\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"http://www.moflon.org.TGGRuntime#//IsApplicableRuleResult\"/>\r\n        <attributeAssignment>\r\n          <attribute href=\"http://www.moflon.org.TGGRuntime#//RuleResult/success\"/>\r\n          <valueExpression xsi:type=\"expressions:LiteralExpression\" value=\"false\"/>\r\n        </attributeAssignment>\r\n        <attributeAssignment>\r\n          <attribute href=\"http://www.moflon.org.TGGRuntime#//RuleResult/rule\"/>\r\n          <valueExpression xsi:type=\"expressions:LiteralExpression\" value=\"&quot;MApplicationToApplicationRule&quot;\"/>\r\n        </attributeAssignment>\r\n      </objectVariable>\r\n      <objectVariable name=\"performOperation\" incomingLink=\"//@ownedActivityNode.1/@storyPattern/@linkVariable.0 //@ownedActivityNode.1/@storyPattern/@linkVariable.1\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"http://www.eclipse.org/emf/2002/Ecore#//EOperation\"/>\r\n        <constraint>\r\n          <constraintExpression xsi:type=\"expressions:ComparisonExpression\" operator=\"EQUAL\">\r\n            <rightExpression xsi:type=\"expressions:LiteralExpression\" value=\"&quot;perform_FWD&quot;\"/>\r\n            <leftExpression xsi:type=\"patternExpressions:AttributeValueExpression\" object=\"//@ownedActivityNode.1/@storyPattern/@objectVariable.1\">\r\n              <attribute href=\"http://www.eclipse.org/emf/2002/Ecore#//ENamedElement/name\"/>\r\n            </leftExpression>\r\n          </constraintExpression>\r\n        </constraint>\r\n      </objectVariable>\r\n      <objectVariable name=\"eClass\" outgoingLink=\"//@ownedActivityNode.1/@storyPattern/@linkVariable.0\" bindingState=\"BOUND\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"http://www.eclipse.org/emf/2002/Ecore#//EClass\"/>\r\n        <bindingExpression xsi:type=\"expressions:LiteralExpression\" value=\"this.eClass()\"/>\r\n      </objectVariable>\r\n      <linkVariable name=\"eOperations\" target=\"//@ownedActivityNode.1/@storyPattern/@objectVariable.1\" source=\"//@ownedActivityNode.1/@storyPattern/@objectVariable.2\"/>\r\n      <linkVariable name=\"performOperation\" target=\"//@ownedActivityNode.1/@storyPattern/@objectVariable.1\" source=\"//@ownedActivityNode.1/@storyPattern/@objectVariable.0\" bindingOperator=\"CREATE\"/>\r\n    </storyPattern>\r\n  </ownedActivityNode>\r\n  <ownedActivityNode xsi:type=\"activities:StopNode\" incoming=\"//@ownedActivityEdge.5\">\r\n    <returnValue xsi:type=\"patternExpressions:ObjectVariableExpression\" object=\"//@ownedActivityNode.1/@storyPattern/@objectVariable.0\"/>\r\n  </ownedActivityNode>\r\n  <ownedActivityNode xsi:type=\"activities:StoryNode\" name=\"find context\" outgoing=\"//@ownedActivityEdge.5 //@ownedActivityEdge.7\" incoming=\"//@ownedActivityEdge.0 //@ownedActivityEdge.3 //@ownedActivityEdge.8\" forEach=\"true\">\r\n    <storyPattern xsi:type=\"TGGLanguage:TGGRule\" name=\"MApplicationToApplicationRule\" cspSpec=\"&#xD;&#xA;&#x9;&#x9;eq(titleAttr.value, application.title)&#xD;&#xA;&#x9;&#x9;eq(packageNameAttr.value, application.packageName)&#xD;&#xA;&#x9;&#x9;eq(androidPlayLibraryPathAttr.value, application.androidPlayLibraryPath)&#xD;&#xA;&#x9;&#x9;eq(androidMapsApiKeyAttr.value, application.androidMapsApiKey)&#xD;&#xA;&#x9;\">\r\n      <objectVariable xsi:type=\"TGGLanguage:TGGObjectVariable\" name=\"applicationNode\" outgoingLink=\"//@ownedActivityNode.3/@storyPattern/@linkVariable.0 //@ownedActivityNode.3/@storyPattern/@linkVariable.1 //@ownedActivityNode.3/@storyPattern/@linkVariable.2 //@ownedActivityNode.3/@storyPattern/@linkVariable.3\" bindingState=\"BOUND\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"platform:/plugin/org.moflon.moca.MocaTree/model/MocaTree.ecore#//Node\"/>\r\n        <constraint>\r\n          <constraintExpression xsi:type=\"expressions:ComparisonExpression\" operator=\"EQUAL\">\r\n            <rightExpression xsi:type=\"expressions:LiteralExpression\" value=\"&quot;Application&quot;\"/>\r\n            <leftExpression xsi:type=\"patternExpressions:AttributeValueExpression\">\r\n              <attribute href=\"platform:/plugin/org.moflon.moca.MocaTree/model/MocaTree.ecore#//TreeElement/name\"/>\r\n            </leftExpression>\r\n          </constraintExpression>\r\n        </constraint>\r\n        <domain href=\"platform:/resource/BlipTGG/model/BlipTGG.tgg.xmi#//@domain.0\"/>\r\n      </objectVariable>\r\n      <objectVariable xsi:type=\"TGGLanguage:TGGObjectVariable\" name=\"titleAttr\" incomingLink=\"//@ownedActivityNode.3/@storyPattern/@linkVariable.0\" bindingState=\"BOUND\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"platform:/plugin/org.moflon.moca.MocaTree/model/MocaTree.ecore#//Attribute\"/>\r\n        <constraint>\r\n          <constraintExpression xsi:type=\"expressions:ComparisonExpression\" operator=\"EQUAL\">\r\n            <rightExpression xsi:type=\"expressions:LiteralExpression\" value=\"&quot;title&quot;\"/>\r\n            <leftExpression xsi:type=\"patternExpressions:AttributeValueExpression\">\r\n              <attribute href=\"platform:/plugin/org.moflon.moca.MocaTree/model/MocaTree.ecore#//TreeElement/name\"/>\r\n            </leftExpression>\r\n          </constraintExpression>\r\n        </constraint>\r\n        <domain href=\"platform:/resource/BlipTGG/model/BlipTGG.tgg.xmi#//@domain.0\"/>\r\n      </objectVariable>\r\n      <objectVariable xsi:type=\"TGGLanguage:TGGObjectVariable\" name=\"packageNameAttr\" incomingLink=\"//@ownedActivityNode.3/@storyPattern/@linkVariable.1\" bindingState=\"BOUND\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"platform:/plugin/org.moflon.moca.MocaTree/model/MocaTree.ecore#//Attribute\"/>\r\n        <constraint>\r\n          <constraintExpression xsi:type=\"expressions:ComparisonExpression\" operator=\"EQUAL\">\r\n            <rightExpression xsi:type=\"expressions:LiteralExpression\" value=\"&quot;packageName&quot;\"/>\r\n            <leftExpression xsi:type=\"patternExpressions:AttributeValueExpression\">\r\n              <attribute href=\"platform:/plugin/org.moflon.moca.MocaTree/model/MocaTree.ecore#//TreeElement/name\"/>\r\n            </leftExpression>\r\n          </constraintExpression>\r\n        </constraint>\r\n        <domain href=\"platform:/resource/BlipTGG/model/BlipTGG.tgg.xmi#//@domain.0\"/>\r\n      </objectVariable>\r\n      <objectVariable xsi:type=\"TGGLanguage:TGGObjectVariable\" name=\"androidPlayLibraryPathAttr\" incomingLink=\"//@ownedActivityNode.3/@storyPattern/@linkVariable.2\" bindingState=\"BOUND\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"platform:/plugin/org.moflon.moca.MocaTree/model/MocaTree.ecore#//Attribute\"/>\r\n        <constraint>\r\n          <constraintExpression xsi:type=\"expressions:ComparisonExpression\" operator=\"EQUAL\">\r\n            <rightExpression xsi:type=\"expressions:LiteralExpression\" value=\"&quot;androidPlayLibraryPath&quot;\"/>\r\n            <leftExpression xsi:type=\"patternExpressions:AttributeValueExpression\">\r\n              <attribute href=\"platform:/plugin/org.moflon.moca.MocaTree/model/MocaTree.ecore#//TreeElement/name\"/>\r\n            </leftExpression>\r\n          </constraintExpression>\r\n        </constraint>\r\n        <domain href=\"platform:/resource/BlipTGG/model/BlipTGG.tgg.xmi#//@domain.0\"/>\r\n      </objectVariable>\r\n      <objectVariable xsi:type=\"TGGLanguage:TGGObjectVariable\" name=\"androidMapsApiKeyAttr\" incomingLink=\"//@ownedActivityNode.3/@storyPattern/@linkVariable.3\" bindingState=\"BOUND\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"platform:/plugin/org.moflon.moca.MocaTree/model/MocaTree.ecore#//Attribute\"/>\r\n        <constraint>\r\n          <constraintExpression xsi:type=\"expressions:ComparisonExpression\" operator=\"EQUAL\">\r\n            <rightExpression xsi:type=\"expressions:LiteralExpression\" value=\"&quot;androidMapsApiKey&quot;\"/>\r\n            <leftExpression xsi:type=\"patternExpressions:AttributeValueExpression\">\r\n              <attribute href=\"platform:/plugin/org.moflon.moca.MocaTree/model/MocaTree.ecore#//TreeElement/name\"/>\r\n            </leftExpression>\r\n          </constraintExpression>\r\n        </constraint>\r\n        <domain href=\"platform:/resource/BlipTGG/model/BlipTGG.tgg.xmi#//@domain.0\"/>\r\n      </objectVariable>\r\n      <objectVariable name=\"isApplicableMatch\" bindingOperator=\"CREATE\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"http://www.moflon.org.TGGRuntime#//IsApplicableMatch\"/>\r\n      </objectVariable>\r\n      <linkVariable xsi:type=\"TGGLanguage:TGGLinkVariable\" name=\"attribute\" target=\"//@ownedActivityNode.3/@storyPattern/@objectVariable.1\" source=\"//@ownedActivityNode.3/@storyPattern/@objectVariable.0\">\r\n        <domain href=\"platform:/resource/BlipTGG/model/BlipTGG.tgg.xmi#//@domain.0\"/>\r\n      </linkVariable>\r\n      <linkVariable xsi:type=\"TGGLanguage:TGGLinkVariable\" name=\"attribute\" target=\"//@ownedActivityNode.3/@storyPattern/@objectVariable.2\" source=\"//@ownedActivityNode.3/@storyPattern/@objectVariable.0\">\r\n        <domain href=\"platform:/resource/BlipTGG/model/BlipTGG.tgg.xmi#//@domain.0\"/>\r\n      </linkVariable>\r\n      <linkVariable xsi:type=\"TGGLanguage:TGGLinkVariable\" name=\"attribute\" target=\"//@ownedActivityNode.3/@storyPattern/@objectVariable.3\" source=\"//@ownedActivityNode.3/@storyPattern/@objectVariable.0\">\r\n        <domain href=\"platform:/resource/BlipTGG/model/BlipTGG.tgg.xmi#//@domain.0\"/>\r\n      </linkVariable>\r\n      <linkVariable xsi:type=\"TGGLanguage:TGGLinkVariable\" name=\"attribute\" target=\"//@ownedActivityNode.3/@storyPattern/@objectVariable.4\" source=\"//@ownedActivityNode.3/@storyPattern/@objectVariable.0\">\r\n        <domain href=\"platform:/resource/BlipTGG/model/BlipTGG.tgg.xmi#//@domain.0\"/>\r\n      </linkVariable>\r\n      <correspondence href=\"platform:/resource/BlipTGG/model/BlipTGG.tgg.xmi#//@domain.2\"/>\r\n      <source href=\"platform:/resource/BlipTGG/model/BlipTGG.tgg.xmi#//@domain.0\"/>\r\n      <csp>\r\n        <constraints variables=\"//@ownedActivityNode.3/@storyPattern/@csp/@variables.0 //@ownedActivityNode.3/@storyPattern/@csp/@variables.1\" name=\"eq\">\r\n          <allowedAdornments value=\"BB\"/>\r\n          <allowedAdornments value=\"BF\"/>\r\n          <allowedAdornments value=\"FB\"/>\r\n        </constraints>\r\n        <constraints variables=\"//@ownedActivityNode.3/@storyPattern/@csp/@variables.2 //@ownedActivityNode.3/@storyPattern/@csp/@variables.3\" name=\"eq\">\r\n          <allowedAdornments value=\"BB\"/>\r\n          <allowedAdornments value=\"BF\"/>\r\n          <allowedAdornments value=\"FB\"/>\r\n        </constraints>\r\n        <constraints variables=\"//@ownedActivityNode.3/@storyPattern/@csp/@variables.4 //@ownedActivityNode.3/@storyPattern/@csp/@variables.5\" name=\"eq\">\r\n          <allowedAdornments value=\"BB\"/>\r\n          <allowedAdornments value=\"BF\"/>\r\n          <allowedAdornments value=\"FB\"/>\r\n        </constraints>\r\n        <constraints variables=\"//@ownedActivityNode.3/@storyPattern/@csp/@variables.6 //@ownedActivityNode.3/@storyPattern/@csp/@variables.7\" name=\"eq\">\r\n          <allowedAdornments value=\"BB\"/>\r\n          <allowedAdornments value=\"BF\"/>\r\n          <allowedAdornments value=\"FB\"/>\r\n        </constraints>\r\n        <variables xsi:type=\"csp:AttributeVariable\" type=\"String\" attribute=\"value\" objectVariable=\"titleAttr\"/>\r\n        <variables xsi:type=\"csp:AttributeVariable\" type=\"String\" attribute=\"title\" objectVariable=\"application\"/>\r\n        <variables xsi:type=\"csp:AttributeVariable\" type=\"String\" attribute=\"value\" objectVariable=\"packageNameAttr\"/>\r\n        <variables xsi:type=\"csp:AttributeVariable\" type=\"String\" attribute=\"packageName\" objectVariable=\"application\"/>\r\n        <variables xsi:type=\"csp:AttributeVariable\" type=\"String\" attribute=\"value\" objectVariable=\"androidPlayLibraryPathAttr\"/>\r\n        <variables xsi:type=\"csp:AttributeVariable\" type=\"String\" attribute=\"androidPlayLibraryPath\" objectVariable=\"application\"/>\r\n        <variables xsi:type=\"csp:AttributeVariable\" type=\"String\" attribute=\"value\" objectVariable=\"androidMapsApiKeyAttr\"/>\r\n        <variables xsi:type=\"csp:AttributeVariable\" type=\"String\" attribute=\"androidMapsApiKey\" objectVariable=\"application\"/>\r\n      </csp>\r\n      <target href=\"platform:/resource/BlipTGG/model/BlipTGG.tgg.xmi#//@domain.1\"/>\r\n    </storyPattern>\r\n  </ownedActivityNode>\r\n  <ownedActivityNode xsi:type=\"activities:StoryNode\" name=\"add match to rule result\" outgoing=\"//@ownedActivityEdge.3\" incoming=\"//@ownedActivityEdge.6\">\r\n    <storyPattern>\r\n      <objectVariable name=\"isApplicableMatch\" incomingLink=\"//@ownedActivityNode.4/@storyPattern/@linkVariable.0\" bindingState=\"BOUND\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"http://www.moflon.org.TGGRuntime#//IsApplicableMatch\"/>\r\n      </objectVariable>\r\n      <objectVariable name=\"ruleresult\" outgoingLink=\"//@ownedActivityNode.4/@storyPattern/@linkVariable.0\" bindingState=\"BOUND\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"http://www.moflon.org.TGGRuntime#//IsApplicableRuleResult\"/>\r\n        <attributeAssignment>\r\n          <attribute href=\"http://www.moflon.org.TGGRuntime#//RuleResult/success\"/>\r\n          <valueExpression xsi:type=\"expressions:LiteralExpression\" value=\"true\"/>\r\n        </attributeAssignment>\r\n      </objectVariable>\r\n      <linkVariable name=\"isApplicableMatch\" target=\"//@ownedActivityNode.4/@storyPattern/@objectVariable.0\" source=\"//@ownedActivityNode.4/@storyPattern/@objectVariable.1\" bindingOperator=\"CREATE\"/>\r\n    </storyPattern>\r\n  </ownedActivityNode>\r\n  <ownedActivityNode xsi:type=\"activities:StatementNode\" name=\"check CSP\" outgoing=\"//@ownedActivityEdge.0 //@ownedActivityEdge.6\" incoming=\"//@ownedActivityEdge.1\">\r\n    <statementExpression xsi:type=\"expressions:LiteralExpression\" value=\"csp.check();\"/>\r\n  </ownedActivityNode>\r\n  <ownedActivityNode xsi:type=\"activities:StatementNode\" name=\"solve CSP\" outgoing=\"//@ownedActivityEdge.1\" incoming=\"//@ownedActivityEdge.7\">\r\n    <statementExpression xsi:type=\"expressions:LiteralExpression\" value=\"// Create CSP&#xD;&#xA;CSP csp = CspFactory.eINSTANCE.createCSP();&#xD;&#xA;isApplicableMatch.getAttributeInfo().add(csp);&#xD;&#xA;&#xD;&#xA;// Create literals&#xD;&#xA;&#xD;&#xA;// Create attribute variables&#xD;&#xA;Variable&lt;String> var_titleAttr_value = CspFactory.eINSTANCE.createVariable(&quot;titleAttr.value&quot;, true, csp);&#xD;&#xA;var_titleAttr_value.setValue(titleAttr.getValue());&#xD;&#xA;Variable&lt;String> var_packageNameAttr_value = CspFactory.eINSTANCE.createVariable(&quot;packageNameAttr.value&quot;, true, csp);&#xD;&#xA;var_packageNameAttr_value.setValue(packageNameAttr.getValue());&#xD;&#xA;Variable&lt;String> var_androidPlayLibraryPathAttr_value = CspFactory.eINSTANCE.createVariable(&quot;androidPlayLibraryPathAttr.value&quot;, true, csp);&#xD;&#xA;var_androidPlayLibraryPathAttr_value.setValue(androidPlayLibraryPathAttr.getValue());&#xD;&#xA;Variable&lt;String> var_androidMapsApiKeyAttr_value = CspFactory.eINSTANCE.createVariable(&quot;androidMapsApiKeyAttr.value&quot;, true, csp);&#xD;&#xA;var_androidMapsApiKeyAttr_value.setValue(androidMapsApiKeyAttr.getValue());&#xD;&#xA;&#xD;&#xA;// Create explicit parameters&#xD;&#xA;&#xD;&#xA;// Create unbound variables&#xD;&#xA;Variable&lt;String> var_application_title = CspFactory.eINSTANCE.createVariable(&quot;application.title&quot;, csp);&#xD;&#xA;Variable&lt;String> var_application_packageName = CspFactory.eINSTANCE.createVariable(&quot;application.packageName&quot;, csp);&#xD;&#xA;Variable&lt;String> var_application_androidPlayLibraryPath = CspFactory.eINSTANCE.createVariable(&quot;application.androidPlayLibraryPath&quot;, csp);&#xD;&#xA;Variable&lt;String> var_application_androidMapsApiKey = CspFactory.eINSTANCE.createVariable(&quot;application.androidMapsApiKey&quot;, csp);&#xD;&#xA;&#xD;&#xA;// Create constraints&#xD;&#xA;Eq&lt;String> eq = new Eq&lt;String>();Eq&lt;String> eq_0 = new Eq&lt;String>();Eq&lt;String> eq_1 = new Eq&lt;String>();Eq&lt;String> eq_2 = new Eq&lt;String>();&#xD;&#xA;&#xD;&#xA;csp.getConstraints().add(eq);&#xD;&#xA;csp.getConstraints().add(eq_0);&#xD;&#xA;csp.getConstraints().add(eq_1);&#xD;&#xA;csp.getConstraints().add(eq_2);&#xD;&#xA;&#xD;&#xA;// Solve CSP&#xD;&#xA;eq.setRuleName(&quot;&quot;);&#xD;&#xA;eq.solve(var_titleAttr_value,var_application_title);&#xD;&#xA;eq_0.setRuleName(&quot;&quot;);&#xD;&#xA;eq_0.solve(var_packageNameAttr_value,var_application_packageName);&#xD;&#xA;eq_1.setRuleName(&quot;&quot;);&#xD;&#xA;eq_1.solve(var_androidPlayLibraryPathAttr_value,var_application_androidPlayLibraryPath);&#xD;&#xA;eq_2.setRuleName(&quot;&quot;);&#xD;&#xA;eq_2.solve(var_androidMapsApiKeyAttr_value,var_application_androidMapsApiKey);&#xD;&#xA;&#xD;&#xA;// Snapshot pattern match on which CSP is solved&#xD;&#xA;isApplicableMatch.registerObject(&quot;applicationNode&quot;,applicationNode);&#xD;&#xA;isApplicableMatch.registerObject(&quot;titleAttr&quot;,titleAttr);&#xD;&#xA;isApplicableMatch.registerObject(&quot;packageNameAttr&quot;,packageNameAttr);&#xD;&#xA;isApplicableMatch.registerObject(&quot;androidPlayLibraryPathAttr&quot;,androidPlayLibraryPathAttr);&#xD;&#xA;isApplicableMatch.registerObject(&quot;androidMapsApiKeyAttr&quot;,androidMapsApiKeyAttr);&#xD;&#xA;\"/>\r\n  </ownedActivityNode>\r\n  <ownedActivityNode xsi:type=\"activities:StartNode\" outgoing=\"//@ownedActivityEdge.4\"/>\r\n  <ownedActivityEdge source=\"//@ownedActivityNode.5\" target=\"//@ownedActivityNode.3\" guard=\"FAILURE\"/>\r\n  <ownedActivityEdge source=\"//@ownedActivityNode.6\" target=\"//@ownedActivityNode.5\"/>\r\n  <ownedActivityEdge source=\"//@ownedActivityNode.1\" target=\"//@ownedActivityNode.0\"/>\r\n  <ownedActivityEdge source=\"//@ownedActivityNode.4\" target=\"//@ownedActivityNode.3\"/>\r\n  <ownedActivityEdge source=\"//@ownedActivityNode.7\" target=\"//@ownedActivityNode.1\"/>\r\n  <ownedActivityEdge source=\"//@ownedActivityNode.3\" target=\"//@ownedActivityNode.2\" guard=\"END\"/>\r\n  <ownedActivityEdge source=\"//@ownedActivityNode.5\" target=\"//@ownedActivityNode.4\" guard=\"SUCCESS\"/>\r\n  <ownedActivityEdge source=\"//@ownedActivityNode.3\" target=\"//@ownedActivityNode.6\" guard=\"EACH_TIME\"/>\r\n  <ownedActivityEdge source=\"//@ownedActivityNode.0\" target=\"//@ownedActivityNode.3\"/>\r\n</activities:Activity>\r\n" });
		addAnnotation(
				getMApplicationToApplicationRule__Perform_BWD__IsApplicableMatch(),
				source,
				new String[] {
						"XMI",
						"<?xml version=\"1.0\" encoding=\"UTF-8\"?>\r\n<activities:Activity xmi:version=\"2.0\" xmlns:xmi=\"http://www.omg.org/XMI\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:TGGLanguage=\"http://www.moflon.org.TGGLanguage\" xmlns:activities=\"http://www.moflon.org.SDMLanguage.activities\" xmlns:csp=\"http://www.moflon.org.TGGLanguage.csp\" xmlns:ecore=\"http://www.eclipse.org/emf/2002/Ecore\" xmlns:expressions=\"http://www.moflon.org.SDMLanguage.expressions\" xmlns:patternExpressions=\"http://www.moflon.org.SDMLanguage.patterns.patternExpressions\">\r\n  <ownedActivityNode xsi:type=\"activities:StoryNode\" name=\"collect translated elements\" outgoing=\"//@ownedActivityEdge.3\" incoming=\"//@ownedActivityEdge.1\">\r\n    <storyPattern>\r\n      <objectVariable name=\"ruleresult\" outgoingLink=\"//@ownedActivityNode.0/@storyPattern/@linkVariable.0 //@ownedActivityNode.0/@storyPattern/@linkVariable.1 //@ownedActivityNode.0/@storyPattern/@linkVariable.2 //@ownedActivityNode.0/@storyPattern/@linkVariable.3 //@ownedActivityNode.0/@storyPattern/@linkVariable.4 //@ownedActivityNode.0/@storyPattern/@linkVariable.5 //@ownedActivityNode.0/@storyPattern/@linkVariable.6\" bindingOperator=\"CREATE\" bindingState=\"BOUND\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"http://www.moflon.org.TGGRuntime#//PerformRuleResult\"/>\r\n        <attributeAssignment>\r\n          <attribute href=\"http://www.moflon.org.TGGRuntime#//RuleResult/success\"/>\r\n          <valueExpression xsi:type=\"expressions:LiteralExpression\" value=\"true\"/>\r\n        </attributeAssignment>\r\n      </objectVariable>\r\n      <objectVariable name=\"applicationNode\" incomingLink=\"//@ownedActivityNode.0/@storyPattern/@linkVariable.0\" bindingState=\"BOUND\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"platform:/plugin/org.moflon.moca.MocaTree/model/MocaTree.ecore#//Node\"/>\r\n      </objectVariable>\r\n      <objectVariable name=\"titleAttr\" incomingLink=\"//@ownedActivityNode.0/@storyPattern/@linkVariable.1\" bindingState=\"BOUND\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"platform:/plugin/org.moflon.moca.MocaTree/model/MocaTree.ecore#//Attribute\"/>\r\n      </objectVariable>\r\n      <objectVariable name=\"packageNameAttr\" incomingLink=\"//@ownedActivityNode.0/@storyPattern/@linkVariable.2\" bindingState=\"BOUND\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"platform:/plugin/org.moflon.moca.MocaTree/model/MocaTree.ecore#//Attribute\"/>\r\n      </objectVariable>\r\n      <objectVariable name=\"androidPlayLibraryPathAttr\" incomingLink=\"//@ownedActivityNode.0/@storyPattern/@linkVariable.3\" bindingState=\"BOUND\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"platform:/plugin/org.moflon.moca.MocaTree/model/MocaTree.ecore#//Attribute\"/>\r\n      </objectVariable>\r\n      <objectVariable name=\"androidMapsApiKeyAttr\" incomingLink=\"//@ownedActivityNode.0/@storyPattern/@linkVariable.4\" bindingState=\"BOUND\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"platform:/plugin/org.moflon.moca.MocaTree/model/MocaTree.ecore#//Attribute\"/>\r\n      </objectVariable>\r\n      <objectVariable name=\"mApplicationToApplication\" incomingLink=\"//@ownedActivityNode.0/@storyPattern/@linkVariable.5\" bindingState=\"BOUND\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"http://www.moflon.org.BlipTGG#//MApplicationToApplication\"/>\r\n      </objectVariable>\r\n      <objectVariable name=\"application\" incomingLink=\"//@ownedActivityNode.0/@storyPattern/@linkVariable.6\" bindingState=\"BOUND\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"platform:/resource/BlipLanguage/model/BlipLanguage.ecore#//BlipApplication\"/>\r\n      </objectVariable>\r\n      <linkVariable name=\"createdElements\" target=\"//@ownedActivityNode.0/@storyPattern/@objectVariable.1\" source=\"//@ownedActivityNode.0/@storyPattern/@objectVariable.0\" bindingOperator=\"CREATE\"/>\r\n      <linkVariable name=\"createdElements\" target=\"//@ownedActivityNode.0/@storyPattern/@objectVariable.2\" source=\"//@ownedActivityNode.0/@storyPattern/@objectVariable.0\" bindingOperator=\"CREATE\"/>\r\n      <linkVariable name=\"createdElements\" target=\"//@ownedActivityNode.0/@storyPattern/@objectVariable.3\" source=\"//@ownedActivityNode.0/@storyPattern/@objectVariable.0\" bindingOperator=\"CREATE\"/>\r\n      <linkVariable name=\"createdElements\" target=\"//@ownedActivityNode.0/@storyPattern/@objectVariable.4\" source=\"//@ownedActivityNode.0/@storyPattern/@objectVariable.0\" bindingOperator=\"CREATE\"/>\r\n      <linkVariable name=\"createdElements\" target=\"//@ownedActivityNode.0/@storyPattern/@objectVariable.5\" source=\"//@ownedActivityNode.0/@storyPattern/@objectVariable.0\" bindingOperator=\"CREATE\"/>\r\n      <linkVariable name=\"createdLinkElements\" target=\"//@ownedActivityNode.0/@storyPattern/@objectVariable.6\" source=\"//@ownedActivityNode.0/@storyPattern/@objectVariable.0\" bindingOperator=\"CREATE\"/>\r\n      <linkVariable name=\"translatedElements\" target=\"//@ownedActivityNode.0/@storyPattern/@objectVariable.7\" source=\"//@ownedActivityNode.0/@storyPattern/@objectVariable.0\" bindingOperator=\"CREATE\"/>\r\n    </storyPattern>\r\n  </ownedActivityNode>\r\n  <ownedActivityNode xsi:type=\"activities:StoryNode\" name=\"perform transformation\" outgoing=\"//@ownedActivityEdge.1\" incoming=\"//@ownedActivityEdge.0\">\r\n    <storyPattern xsi:type=\"TGGLanguage:TGGRule\" name=\"MApplicationToApplicationRule\" cspSpec=\"&#xD;&#xA;&#x9;&#x9;eq(titleAttr.value, application.title)&#xD;&#xA;&#x9;&#x9;eq(packageNameAttr.value, application.packageName)&#xD;&#xA;&#x9;&#x9;eq(androidPlayLibraryPathAttr.value, application.androidPlayLibraryPath)&#xD;&#xA;&#x9;&#x9;eq(androidMapsApiKeyAttr.value, application.androidMapsApiKey)&#xD;&#xA;&#x9;\">\r\n      <objectVariable xsi:type=\"TGGLanguage:TGGObjectVariable\" name=\"applicationNode\" incomingLink=\"//@ownedActivityNode.1/@storyPattern/@linkVariable.4\" outgoingLink=\"//@ownedActivityNode.1/@storyPattern/@linkVariable.0 //@ownedActivityNode.1/@storyPattern/@linkVariable.1 //@ownedActivityNode.1/@storyPattern/@linkVariable.2 //@ownedActivityNode.1/@storyPattern/@linkVariable.3\" bindingOperator=\"CREATE\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"platform:/plugin/org.moflon.moca.MocaTree/model/MocaTree.ecore#//Node\"/>\r\n        <attributeAssignment>\r\n          <attribute href=\"platform:/plugin/org.moflon.moca.MocaTree/model/MocaTree.ecore#//TreeElement/name\"/>\r\n          <valueExpression xsi:type=\"expressions:LiteralExpression\" value=\"&quot;Application&quot;\"/>\r\n        </attributeAssignment>\r\n        <domain href=\"platform:/resource/BlipTGG/model/BlipTGG.tgg.xmi#//@domain.0\"/>\r\n      </objectVariable>\r\n      <objectVariable xsi:type=\"TGGLanguage:TGGObjectVariable\" name=\"titleAttr\" incomingLink=\"//@ownedActivityNode.1/@storyPattern/@linkVariable.0\" bindingOperator=\"CREATE\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"platform:/plugin/org.moflon.moca.MocaTree/model/MocaTree.ecore#//Attribute\"/>\r\n        <attributeAssignment>\r\n          <attribute href=\"platform:/plugin/org.moflon.moca.MocaTree/model/MocaTree.ecore#//TreeElement/name\"/>\r\n          <valueExpression xsi:type=\"expressions:LiteralExpression\" value=\"&quot;title&quot;\"/>\r\n        </attributeAssignment>\r\n        <attributeAssignment>\r\n          <attribute href=\"platform:/plugin/org.moflon.moca.MocaTree/model/MocaTree.ecore#//Attribute/value\"/>\r\n          <valueExpression xsi:type=\"expressions:LiteralExpression\" value=\"(java.lang.String)csp.getAttributeVariable(&quot;titleAttr&quot;,&quot;value&quot;).getValue()\"/>\r\n        </attributeAssignment>\r\n        <domain href=\"platform:/resource/BlipTGG/model/BlipTGG.tgg.xmi#//@domain.0\"/>\r\n      </objectVariable>\r\n      <objectVariable xsi:type=\"TGGLanguage:TGGObjectVariable\" name=\"packageNameAttr\" incomingLink=\"//@ownedActivityNode.1/@storyPattern/@linkVariable.1\" bindingOperator=\"CREATE\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"platform:/plugin/org.moflon.moca.MocaTree/model/MocaTree.ecore#//Attribute\"/>\r\n        <attributeAssignment>\r\n          <attribute href=\"platform:/plugin/org.moflon.moca.MocaTree/model/MocaTree.ecore#//TreeElement/name\"/>\r\n          <valueExpression xsi:type=\"expressions:LiteralExpression\" value=\"&quot;packageName&quot;\"/>\r\n        </attributeAssignment>\r\n        <attributeAssignment>\r\n          <attribute href=\"platform:/plugin/org.moflon.moca.MocaTree/model/MocaTree.ecore#//Attribute/value\"/>\r\n          <valueExpression xsi:type=\"expressions:LiteralExpression\" value=\"(java.lang.String)csp.getAttributeVariable(&quot;packageNameAttr&quot;,&quot;value&quot;).getValue()\"/>\r\n        </attributeAssignment>\r\n        <domain href=\"platform:/resource/BlipTGG/model/BlipTGG.tgg.xmi#//@domain.0\"/>\r\n      </objectVariable>\r\n      <objectVariable xsi:type=\"TGGLanguage:TGGObjectVariable\" name=\"androidPlayLibraryPathAttr\" incomingLink=\"//@ownedActivityNode.1/@storyPattern/@linkVariable.2\" bindingOperator=\"CREATE\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"platform:/plugin/org.moflon.moca.MocaTree/model/MocaTree.ecore#//Attribute\"/>\r\n        <attributeAssignment>\r\n          <attribute href=\"platform:/plugin/org.moflon.moca.MocaTree/model/MocaTree.ecore#//TreeElement/name\"/>\r\n          <valueExpression xsi:type=\"expressions:LiteralExpression\" value=\"&quot;androidPlayLibraryPath&quot;\"/>\r\n        </attributeAssignment>\r\n        <attributeAssignment>\r\n          <attribute href=\"platform:/plugin/org.moflon.moca.MocaTree/model/MocaTree.ecore#//Attribute/value\"/>\r\n          <valueExpression xsi:type=\"expressions:LiteralExpression\" value=\"(java.lang.String)csp.getAttributeVariable(&quot;androidPlayLibraryPathAttr&quot;,&quot;value&quot;).getValue()\"/>\r\n        </attributeAssignment>\r\n        <domain href=\"platform:/resource/BlipTGG/model/BlipTGG.tgg.xmi#//@domain.0\"/>\r\n      </objectVariable>\r\n      <objectVariable xsi:type=\"TGGLanguage:TGGObjectVariable\" name=\"androidMapsApiKeyAttr\" incomingLink=\"//@ownedActivityNode.1/@storyPattern/@linkVariable.3\" bindingOperator=\"CREATE\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"platform:/plugin/org.moflon.moca.MocaTree/model/MocaTree.ecore#//Attribute\"/>\r\n        <attributeAssignment>\r\n          <attribute href=\"platform:/plugin/org.moflon.moca.MocaTree/model/MocaTree.ecore#//TreeElement/name\"/>\r\n          <valueExpression xsi:type=\"expressions:LiteralExpression\" value=\"&quot;androidMapsApiKey&quot;\"/>\r\n        </attributeAssignment>\r\n        <attributeAssignment>\r\n          <attribute href=\"platform:/plugin/org.moflon.moca.MocaTree/model/MocaTree.ecore#//Attribute/value\"/>\r\n          <valueExpression xsi:type=\"expressions:LiteralExpression\" value=\"(java.lang.String)csp.getAttributeVariable(&quot;androidMapsApiKeyAttr&quot;,&quot;value&quot;).getValue()\"/>\r\n        </attributeAssignment>\r\n        <domain href=\"platform:/resource/BlipTGG/model/BlipTGG.tgg.xmi#//@domain.0\"/>\r\n      </objectVariable>\r\n      <objectVariable xsi:type=\"TGGLanguage:TGGObjectVariable\" name=\"mApplicationToApplication\" outgoingLink=\"//@ownedActivityNode.1/@storyPattern/@linkVariable.4 //@ownedActivityNode.1/@storyPattern/@linkVariable.5\" bindingOperator=\"CREATE\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"http://www.moflon.org.BlipTGG#//MApplicationToApplication\"/>\r\n        <domain href=\"platform:/resource/BlipTGG/model/BlipTGG.tgg.xmi#//@domain.2\"/>\r\n      </objectVariable>\r\n      <objectVariable xsi:type=\"TGGLanguage:TGGObjectVariable\" name=\"application\" incomingLink=\"//@ownedActivityNode.1/@storyPattern/@linkVariable.5\" bindingState=\"BOUND\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"platform:/resource/BlipLanguage/model/BlipLanguage.ecore#//BlipApplication\"/>\r\n        <bindingExpression xsi:type=\"expressions:LiteralExpression\" value=\"isApplicableMatch.getObject(&quot;application&quot;)\"/>\r\n        <domain href=\"platform:/resource/BlipTGG/model/BlipTGG.tgg.xmi#//@domain.1\"/>\r\n      </objectVariable>\r\n      <objectVariable name=\"csp\" incomingLink=\"//@ownedActivityNode.1/@storyPattern/@linkVariable.6\" bindingSemantics=\"OPTIONAL\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"http://www.moflon.org.TGGLanguage#//csp/CSP\"/>\r\n      </objectVariable>\r\n      <objectVariable name=\"this\" bindingState=\"BOUND\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"http://www.moflon.org.BlipTGG#//Rules/MApplicationToApplicationRule\"/>\r\n        <bindingExpression xsi:type=\"expressions:LiteralExpression\" value=\"isApplicableMatch.getObject(&quot;this&quot;)\"/>\r\n      </objectVariable>\r\n      <objectVariable name=\"isApplicableMatch\" outgoingLink=\"//@ownedActivityNode.1/@storyPattern/@linkVariable.6\" bindingState=\"BOUND\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"http://www.moflon.org.TGGRuntime#//IsApplicableMatch\"/>\r\n      </objectVariable>\r\n      <linkVariable xsi:type=\"TGGLanguage:TGGLinkVariable\" name=\"attribute\" target=\"//@ownedActivityNode.1/@storyPattern/@objectVariable.1\" source=\"//@ownedActivityNode.1/@storyPattern/@objectVariable.0\" bindingOperator=\"CREATE\">\r\n        <domain href=\"platform:/resource/BlipTGG/model/BlipTGG.tgg.xmi#//@domain.0\"/>\r\n      </linkVariable>\r\n      <linkVariable xsi:type=\"TGGLanguage:TGGLinkVariable\" name=\"attribute\" target=\"//@ownedActivityNode.1/@storyPattern/@objectVariable.2\" source=\"//@ownedActivityNode.1/@storyPattern/@objectVariable.0\" bindingOperator=\"CREATE\">\r\n        <domain href=\"platform:/resource/BlipTGG/model/BlipTGG.tgg.xmi#//@domain.0\"/>\r\n      </linkVariable>\r\n      <linkVariable xsi:type=\"TGGLanguage:TGGLinkVariable\" name=\"attribute\" target=\"//@ownedActivityNode.1/@storyPattern/@objectVariable.3\" source=\"//@ownedActivityNode.1/@storyPattern/@objectVariable.0\" bindingOperator=\"CREATE\">\r\n        <domain href=\"platform:/resource/BlipTGG/model/BlipTGG.tgg.xmi#//@domain.0\"/>\r\n      </linkVariable>\r\n      <linkVariable xsi:type=\"TGGLanguage:TGGLinkVariable\" name=\"attribute\" target=\"//@ownedActivityNode.1/@storyPattern/@objectVariable.4\" source=\"//@ownedActivityNode.1/@storyPattern/@objectVariable.0\" bindingOperator=\"CREATE\">\r\n        <domain href=\"platform:/resource/BlipTGG/model/BlipTGG.tgg.xmi#//@domain.0\"/>\r\n      </linkVariable>\r\n      <linkVariable xsi:type=\"TGGLanguage:TGGLinkVariable\" name=\"source\" target=\"//@ownedActivityNode.1/@storyPattern/@objectVariable.0\" source=\"//@ownedActivityNode.1/@storyPattern/@objectVariable.5\" bindingOperator=\"CREATE\">\r\n        <domain href=\"platform:/resource/BlipTGG/model/BlipTGG.tgg.xmi#//@domain.2\"/>\r\n      </linkVariable>\r\n      <linkVariable xsi:type=\"TGGLanguage:TGGLinkVariable\" name=\"target\" target=\"//@ownedActivityNode.1/@storyPattern/@objectVariable.6\" source=\"//@ownedActivityNode.1/@storyPattern/@objectVariable.5\" bindingOperator=\"CREATE\">\r\n        <domain href=\"platform:/resource/BlipTGG/model/BlipTGG.tgg.xmi#//@domain.2\"/>\r\n      </linkVariable>\r\n      <linkVariable name=\"attributeInfo\" target=\"//@ownedActivityNode.1/@storyPattern/@objectVariable.7\" source=\"//@ownedActivityNode.1/@storyPattern/@objectVariable.9\"/>\r\n      <correspondence href=\"platform:/resource/BlipTGG/model/BlipTGG.tgg.xmi#//@domain.2\"/>\r\n      <source href=\"platform:/resource/BlipTGG/model/BlipTGG.tgg.xmi#//@domain.0\"/>\r\n      <csp>\r\n        <constraints variables=\"//@ownedActivityNode.1/@storyPattern/@csp/@variables.0 //@ownedActivityNode.1/@storyPattern/@csp/@variables.1\" name=\"eq\">\r\n          <allowedAdornments value=\"BB\"/>\r\n          <allowedAdornments value=\"BF\"/>\r\n          <allowedAdornments value=\"FB\"/>\r\n        </constraints>\r\n        <constraints variables=\"//@ownedActivityNode.1/@storyPattern/@csp/@variables.2 //@ownedActivityNode.1/@storyPattern/@csp/@variables.3\" name=\"eq\">\r\n          <allowedAdornments value=\"BB\"/>\r\n          <allowedAdornments value=\"BF\"/>\r\n          <allowedAdornments value=\"FB\"/>\r\n        </constraints>\r\n        <constraints variables=\"//@ownedActivityNode.1/@storyPattern/@csp/@variables.4 //@ownedActivityNode.1/@storyPattern/@csp/@variables.5\" name=\"eq\">\r\n          <allowedAdornments value=\"BB\"/>\r\n          <allowedAdornments value=\"BF\"/>\r\n          <allowedAdornments value=\"FB\"/>\r\n        </constraints>\r\n        <constraints variables=\"//@ownedActivityNode.1/@storyPattern/@csp/@variables.6 //@ownedActivityNode.1/@storyPattern/@csp/@variables.7\" name=\"eq\">\r\n          <allowedAdornments value=\"BB\"/>\r\n          <allowedAdornments value=\"BF\"/>\r\n          <allowedAdornments value=\"FB\"/>\r\n        </constraints>\r\n        <variables xsi:type=\"csp:AttributeVariable\" type=\"String\" attribute=\"value\" objectVariable=\"titleAttr\"/>\r\n        <variables xsi:type=\"csp:AttributeVariable\" bound=\"true\" value=\"ACED00057400166170706C69636174696F6E2E6765745469746C652829\" type=\"String\" attribute=\"title\" objectVariable=\"application\"/>\r\n        <variables xsi:type=\"csp:AttributeVariable\" type=\"String\" attribute=\"value\" objectVariable=\"packageNameAttr\"/>\r\n        <variables xsi:type=\"csp:AttributeVariable\" bound=\"true\" value=\"ACED000574001C6170706C69636174696F6E2E6765745061636B6167654E616D652829\" type=\"String\" attribute=\"packageName\" objectVariable=\"application\"/>\r\n        <variables xsi:type=\"csp:AttributeVariable\" type=\"String\" attribute=\"value\" objectVariable=\"androidPlayLibraryPathAttr\"/>\r\n        <variables xsi:type=\"csp:AttributeVariable\" bound=\"true\" value=\"ACED00057400276170706C69636174696F6E2E676574416E64726F6964506C61794C696272617279506174682829\" type=\"String\" attribute=\"androidPlayLibraryPath\" objectVariable=\"application\"/>\r\n        <variables xsi:type=\"csp:AttributeVariable\" type=\"String\" attribute=\"value\" objectVariable=\"androidMapsApiKeyAttr\"/>\r\n        <variables xsi:type=\"csp:AttributeVariable\" bound=\"true\" value=\"ACED00057400226170706C69636174696F6E2E676574416E64726F69644D6170734170694B65792829\" type=\"String\" attribute=\"androidMapsApiKey\" objectVariable=\"application\"/>\r\n        <forward variables=\"//@ownedActivityNode.1/@storyPattern/@csp/@variables.0 //@ownedActivityNode.1/@storyPattern/@csp/@variables.1 //@ownedActivityNode.1/@storyPattern/@csp/@variables.2 //@ownedActivityNode.1/@storyPattern/@csp/@variables.3 //@ownedActivityNode.1/@storyPattern/@csp/@variables.4 //@ownedActivityNode.1/@storyPattern/@csp/@variables.5 //@ownedActivityNode.1/@storyPattern/@csp/@variables.6 //@ownedActivityNode.1/@storyPattern/@csp/@variables.7\" constraints=\"//@ownedActivityNode.1/@storyPattern/@csp/@constraints.0 //@ownedActivityNode.1/@storyPattern/@csp/@constraints.1 //@ownedActivityNode.1/@storyPattern/@csp/@constraints.2 //@ownedActivityNode.1/@storyPattern/@csp/@constraints.3\"/>\r\n        <simultaneous variables=\"//@ownedActivityNode.1/@storyPattern/@csp/@variables.0 //@ownedActivityNode.1/@storyPattern/@csp/@variables.1 //@ownedActivityNode.1/@storyPattern/@csp/@variables.2 //@ownedActivityNode.1/@storyPattern/@csp/@variables.3 //@ownedActivityNode.1/@storyPattern/@csp/@variables.4 //@ownedActivityNode.1/@storyPattern/@csp/@variables.5 //@ownedActivityNode.1/@storyPattern/@csp/@variables.6 //@ownedActivityNode.1/@storyPattern/@csp/@variables.7\" constraints=\"//@ownedActivityNode.1/@storyPattern/@csp/@constraints.0 //@ownedActivityNode.1/@storyPattern/@csp/@constraints.1 //@ownedActivityNode.1/@storyPattern/@csp/@constraints.2 //@ownedActivityNode.1/@storyPattern/@csp/@constraints.3\"/>\r\n        <backward variables=\"//@ownedActivityNode.1/@storyPattern/@csp/@variables.0 //@ownedActivityNode.1/@storyPattern/@csp/@variables.1 //@ownedActivityNode.1/@storyPattern/@csp/@variables.2 //@ownedActivityNode.1/@storyPattern/@csp/@variables.3 //@ownedActivityNode.1/@storyPattern/@csp/@variables.4 //@ownedActivityNode.1/@storyPattern/@csp/@variables.5 //@ownedActivityNode.1/@storyPattern/@csp/@variables.6 //@ownedActivityNode.1/@storyPattern/@csp/@variables.7\" constraints=\"//@ownedActivityNode.1/@storyPattern/@csp/@constraints.0 //@ownedActivityNode.1/@storyPattern/@csp/@constraints.1 //@ownedActivityNode.1/@storyPattern/@csp/@constraints.2 //@ownedActivityNode.1/@storyPattern/@csp/@constraints.3\"/>\r\n        <source/>\r\n        <target/>\r\n      </csp>\r\n      <target href=\"platform:/resource/BlipTGG/model/BlipTGG.tgg.xmi#//@domain.1\"/>\r\n    </storyPattern>\r\n  </ownedActivityNode>\r\n  <ownedActivityNode xsi:type=\"activities:StopNode\" incoming=\"//@ownedActivityEdge.2\">\r\n    <returnValue xsi:type=\"patternExpressions:ObjectVariableExpression\" object=\"//@ownedActivityNode.0/@storyPattern/@objectVariable.0\"/>\r\n  </ownedActivityNode>\r\n  <ownedActivityNode xsi:type=\"activities:StartNode\" outgoing=\"//@ownedActivityEdge.0\"/>\r\n  <ownedActivityNode xsi:type=\"activities:StatementNode\" name=\"perform postprocessing\" outgoing=\"//@ownedActivityEdge.2\" incoming=\"//@ownedActivityEdge.4\">\r\n    <statementExpression xsi:type=\"expressions:LiteralExpression\" value=\"// No post processing method found\"/>\r\n  </ownedActivityNode>\r\n  <ownedActivityNode xsi:type=\"activities:StoryNode\" name=\"bookkeeping for edges\" outgoing=\"//@ownedActivityEdge.4\" incoming=\"//@ownedActivityEdge.3\">\r\n    <storyPattern>\r\n      <objectVariable name=\"ruleresult\" outgoingLink=\"//@ownedActivityNode.5/@storyPattern/@linkVariable.1 //@ownedActivityNode.5/@storyPattern/@linkVariable.4 //@ownedActivityNode.5/@storyPattern/@linkVariable.7 //@ownedActivityNode.5/@storyPattern/@linkVariable.10 //@ownedActivityNode.5/@storyPattern/@linkVariable.13 //@ownedActivityNode.5/@storyPattern/@linkVariable.16\" bindingState=\"BOUND\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"http://www.moflon.org.TGGRuntime#//PerformRuleResult\"/>\r\n      </objectVariable>\r\n      <objectVariable name=\"applicationNode\" incomingLink=\"//@ownedActivityNode.5/@storyPattern/@linkVariable.2 //@ownedActivityNode.5/@storyPattern/@linkVariable.5 //@ownedActivityNode.5/@storyPattern/@linkVariable.8 //@ownedActivityNode.5/@storyPattern/@linkVariable.11 //@ownedActivityNode.5/@storyPattern/@linkVariable.12\" bindingState=\"BOUND\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"http://www.eclipse.org/emf/2002/Ecore#//EObject\"/>\r\n      </objectVariable>\r\n      <objectVariable name=\"titleAttr\" incomingLink=\"//@ownedActivityNode.5/@storyPattern/@linkVariable.0\" bindingState=\"BOUND\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"http://www.eclipse.org/emf/2002/Ecore#//EObject\"/>\r\n      </objectVariable>\r\n      <objectVariable name=\"packageNameAttr\" incomingLink=\"//@ownedActivityNode.5/@storyPattern/@linkVariable.3\" bindingState=\"BOUND\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"http://www.eclipse.org/emf/2002/Ecore#//EObject\"/>\r\n      </objectVariable>\r\n      <objectVariable name=\"androidPlayLibraryPathAttr\" incomingLink=\"//@ownedActivityNode.5/@storyPattern/@linkVariable.6\" bindingState=\"BOUND\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"http://www.eclipse.org/emf/2002/Ecore#//EObject\"/>\r\n      </objectVariable>\r\n      <objectVariable name=\"androidMapsApiKeyAttr\" incomingLink=\"//@ownedActivityNode.5/@storyPattern/@linkVariable.9\" bindingState=\"BOUND\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"http://www.eclipse.org/emf/2002/Ecore#//EObject\"/>\r\n      </objectVariable>\r\n      <objectVariable name=\"mApplicationToApplication\" incomingLink=\"//@ownedActivityNode.5/@storyPattern/@linkVariable.14 //@ownedActivityNode.5/@storyPattern/@linkVariable.17\" bindingState=\"BOUND\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"http://www.eclipse.org/emf/2002/Ecore#//EObject\"/>\r\n      </objectVariable>\r\n      <objectVariable name=\"application\" incomingLink=\"//@ownedActivityNode.5/@storyPattern/@linkVariable.15\" bindingState=\"BOUND\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"http://www.eclipse.org/emf/2002/Ecore#//EObject\"/>\r\n      </objectVariable>\r\n      <objectVariable name=\"applicationNode__attribute__titleAttr\" incomingLink=\"//@ownedActivityNode.5/@storyPattern/@linkVariable.1\" outgoingLink=\"//@ownedActivityNode.5/@storyPattern/@linkVariable.0 //@ownedActivityNode.5/@storyPattern/@linkVariable.2\" bindingOperator=\"CREATE\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"http://www.moflon.org.TGGRuntime#//Edge\"/>\r\n        <attributeAssignment>\r\n          <attribute href=\"http://www.moflon.org.TGGRuntime#//Edge/name\"/>\r\n          <valueExpression xsi:type=\"expressions:LiteralExpression\" value=\"&quot;attribute&quot;\"/>\r\n        </attributeAssignment>\r\n      </objectVariable>\r\n      <objectVariable name=\"applicationNode__attribute__packageNameAttr\" incomingLink=\"//@ownedActivityNode.5/@storyPattern/@linkVariable.4\" outgoingLink=\"//@ownedActivityNode.5/@storyPattern/@linkVariable.3 //@ownedActivityNode.5/@storyPattern/@linkVariable.5\" bindingOperator=\"CREATE\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"http://www.moflon.org.TGGRuntime#//Edge\"/>\r\n        <attributeAssignment>\r\n          <attribute href=\"http://www.moflon.org.TGGRuntime#//Edge/name\"/>\r\n          <valueExpression xsi:type=\"expressions:LiteralExpression\" value=\"&quot;attribute&quot;\"/>\r\n        </attributeAssignment>\r\n      </objectVariable>\r\n      <objectVariable name=\"applicationNode__attribute__androidPlayLibraryPathAttr\" incomingLink=\"//@ownedActivityNode.5/@storyPattern/@linkVariable.7\" outgoingLink=\"//@ownedActivityNode.5/@storyPattern/@linkVariable.6 //@ownedActivityNode.5/@storyPattern/@linkVariable.8\" bindingOperator=\"CREATE\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"http://www.moflon.org.TGGRuntime#//Edge\"/>\r\n        <attributeAssignment>\r\n          <attribute href=\"http://www.moflon.org.TGGRuntime#//Edge/name\"/>\r\n          <valueExpression xsi:type=\"expressions:LiteralExpression\" value=\"&quot;attribute&quot;\"/>\r\n        </attributeAssignment>\r\n      </objectVariable>\r\n      <objectVariable name=\"applicationNode__attribute__androidMapsApiKeyAttr\" incomingLink=\"//@ownedActivityNode.5/@storyPattern/@linkVariable.10\" outgoingLink=\"//@ownedActivityNode.5/@storyPattern/@linkVariable.9 //@ownedActivityNode.5/@storyPattern/@linkVariable.11\" bindingOperator=\"CREATE\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"http://www.moflon.org.TGGRuntime#//Edge\"/>\r\n        <attributeAssignment>\r\n          <attribute href=\"http://www.moflon.org.TGGRuntime#//Edge/name\"/>\r\n          <valueExpression xsi:type=\"expressions:LiteralExpression\" value=\"&quot;attribute&quot;\"/>\r\n        </attributeAssignment>\r\n      </objectVariable>\r\n      <objectVariable name=\"mApplicationToApplication__source__applicationNode\" incomingLink=\"//@ownedActivityNode.5/@storyPattern/@linkVariable.13\" outgoingLink=\"//@ownedActivityNode.5/@storyPattern/@linkVariable.12 //@ownedActivityNode.5/@storyPattern/@linkVariable.14\" bindingOperator=\"CREATE\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"http://www.moflon.org.TGGRuntime#//Edge\"/>\r\n        <attributeAssignment>\r\n          <attribute href=\"http://www.moflon.org.TGGRuntime#//Edge/name\"/>\r\n          <valueExpression xsi:type=\"expressions:LiteralExpression\" value=\"&quot;source&quot;\"/>\r\n        </attributeAssignment>\r\n      </objectVariable>\r\n      <objectVariable name=\"mApplicationToApplication__target__application\" incomingLink=\"//@ownedActivityNode.5/@storyPattern/@linkVariable.16\" outgoingLink=\"//@ownedActivityNode.5/@storyPattern/@linkVariable.15 //@ownedActivityNode.5/@storyPattern/@linkVariable.17\" bindingOperator=\"CREATE\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"http://www.moflon.org.TGGRuntime#//Edge\"/>\r\n        <attributeAssignment>\r\n          <attribute href=\"http://www.moflon.org.TGGRuntime#//Edge/name\"/>\r\n          <valueExpression xsi:type=\"expressions:LiteralExpression\" value=\"&quot;target&quot;\"/>\r\n        </attributeAssignment>\r\n      </objectVariable>\r\n      <linkVariable name=\"trg\" target=\"//@ownedActivityNode.5/@storyPattern/@objectVariable.2\" source=\"//@ownedActivityNode.5/@storyPattern/@objectVariable.8\" bindingOperator=\"CREATE\"/>\r\n      <linkVariable name=\"createdEdges\" target=\"//@ownedActivityNode.5/@storyPattern/@objectVariable.8\" source=\"//@ownedActivityNode.5/@storyPattern/@objectVariable.0\" bindingOperator=\"CREATE\"/>\r\n      <linkVariable name=\"src\" target=\"//@ownedActivityNode.5/@storyPattern/@objectVariable.1\" source=\"//@ownedActivityNode.5/@storyPattern/@objectVariable.8\" bindingOperator=\"CREATE\"/>\r\n      <linkVariable name=\"trg\" target=\"//@ownedActivityNode.5/@storyPattern/@objectVariable.3\" source=\"//@ownedActivityNode.5/@storyPattern/@objectVariable.9\" bindingOperator=\"CREATE\"/>\r\n      <linkVariable name=\"createdEdges\" target=\"//@ownedActivityNode.5/@storyPattern/@objectVariable.9\" source=\"//@ownedActivityNode.5/@storyPattern/@objectVariable.0\" bindingOperator=\"CREATE\"/>\r\n      <linkVariable name=\"src\" target=\"//@ownedActivityNode.5/@storyPattern/@objectVariable.1\" source=\"//@ownedActivityNode.5/@storyPattern/@objectVariable.9\" bindingOperator=\"CREATE\"/>\r\n      <linkVariable name=\"trg\" target=\"//@ownedActivityNode.5/@storyPattern/@objectVariable.4\" source=\"//@ownedActivityNode.5/@storyPattern/@objectVariable.10\" bindingOperator=\"CREATE\"/>\r\n      <linkVariable name=\"createdEdges\" target=\"//@ownedActivityNode.5/@storyPattern/@objectVariable.10\" source=\"//@ownedActivityNode.5/@storyPattern/@objectVariable.0\" bindingOperator=\"CREATE\"/>\r\n      <linkVariable name=\"src\" target=\"//@ownedActivityNode.5/@storyPattern/@objectVariable.1\" source=\"//@ownedActivityNode.5/@storyPattern/@objectVariable.10\" bindingOperator=\"CREATE\"/>\r\n      <linkVariable name=\"trg\" target=\"//@ownedActivityNode.5/@storyPattern/@objectVariable.5\" source=\"//@ownedActivityNode.5/@storyPattern/@objectVariable.11\" bindingOperator=\"CREATE\"/>\r\n      <linkVariable name=\"createdEdges\" target=\"//@ownedActivityNode.5/@storyPattern/@objectVariable.11\" source=\"//@ownedActivityNode.5/@storyPattern/@objectVariable.0\" bindingOperator=\"CREATE\"/>\r\n      <linkVariable name=\"src\" target=\"//@ownedActivityNode.5/@storyPattern/@objectVariable.1\" source=\"//@ownedActivityNode.5/@storyPattern/@objectVariable.11\" bindingOperator=\"CREATE\"/>\r\n      <linkVariable name=\"trg\" target=\"//@ownedActivityNode.5/@storyPattern/@objectVariable.1\" source=\"//@ownedActivityNode.5/@storyPattern/@objectVariable.12\" bindingOperator=\"CREATE\"/>\r\n      <linkVariable name=\"createdEdges\" target=\"//@ownedActivityNode.5/@storyPattern/@objectVariable.12\" source=\"//@ownedActivityNode.5/@storyPattern/@objectVariable.0\" bindingOperator=\"CREATE\"/>\r\n      <linkVariable name=\"src\" target=\"//@ownedActivityNode.5/@storyPattern/@objectVariable.6\" source=\"//@ownedActivityNode.5/@storyPattern/@objectVariable.12\" bindingOperator=\"CREATE\"/>\r\n      <linkVariable name=\"trg\" target=\"//@ownedActivityNode.5/@storyPattern/@objectVariable.7\" source=\"//@ownedActivityNode.5/@storyPattern/@objectVariable.13\" bindingOperator=\"CREATE\"/>\r\n      <linkVariable name=\"createdEdges\" target=\"//@ownedActivityNode.5/@storyPattern/@objectVariable.13\" source=\"//@ownedActivityNode.5/@storyPattern/@objectVariable.0\" bindingOperator=\"CREATE\"/>\r\n      <linkVariable name=\"src\" target=\"//@ownedActivityNode.5/@storyPattern/@objectVariable.6\" source=\"//@ownedActivityNode.5/@storyPattern/@objectVariable.13\" bindingOperator=\"CREATE\"/>\r\n    </storyPattern>\r\n  </ownedActivityNode>\r\n  <ownedActivityEdge source=\"//@ownedActivityNode.3\" target=\"//@ownedActivityNode.1\"/>\r\n  <ownedActivityEdge source=\"//@ownedActivityNode.1\" target=\"//@ownedActivityNode.0\"/>\r\n  <ownedActivityEdge source=\"//@ownedActivityNode.4\" target=\"//@ownedActivityNode.2\"/>\r\n  <ownedActivityEdge source=\"//@ownedActivityNode.0\" target=\"//@ownedActivityNode.5\"/>\r\n  <ownedActivityEdge source=\"//@ownedActivityNode.5\" target=\"//@ownedActivityNode.4\"/>\r\n</activities:Activity>\r\n" });
		addAnnotation(
				getMApplicationToApplicationRule__IsAppropriate_BWD__Match_BlipApplication(),
				source,
				new String[] {
						"XMI",
						"<?xml version=\"1.0\" encoding=\"UTF-8\"?>\r\n<activities:Activity xmi:version=\"2.0\" xmlns:xmi=\"http://www.omg.org/XMI\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:activities=\"http://www.moflon.org.SDMLanguage.activities\" xmlns:ecore=\"http://www.eclipse.org/emf/2002/Ecore\" xmlns:expressions=\"http://www.moflon.org.SDMLanguage.expressions\">\r\n  <ownedActivityNode xsi:type=\"activities:StatementNode\" name=\"Check CSP\" outgoing=\"//@ownedActivityEdge.3 //@ownedActivityEdge.5\" incoming=\"//@ownedActivityEdge.1\">\r\n    <statementExpression xsi:type=\"expressions:LiteralExpression\" value=\"csp.check();\"/>\r\n  </ownedActivityNode>\r\n  <ownedActivityNode xsi:type=\"activities:StatementNode\" name=\"Solve CSP\" outgoing=\"//@ownedActivityEdge.1\" incoming=\"//@ownedActivityEdge.2\">\r\n    <statementExpression xsi:type=\"expressions:LiteralExpression\" value=\"// Create CSP&#xD;&#xA;CSP csp = CspFactory.eINSTANCE.createCSP();&#xD;&#xA;&#xD;&#xA;// Create literals&#xD;&#xA;&#xD;&#xA;// Create attribute variables&#xD;&#xA;&#xD;&#xA;// Create explicit parameters&#xD;&#xA;&#xD;&#xA;// Create unbound variables&#xD;&#xA;&#xD;&#xA;// Create constraints&#xD;&#xA;&#xD;&#xA;&#xD;&#xA;&#xD;&#xA;&#xD;&#xA;// Solve CSP&#xD;&#xA;\"/>\r\n  </ownedActivityNode>\r\n  <ownedActivityNode xsi:type=\"activities:StopNode\" incoming=\"//@ownedActivityEdge.3\">\r\n    <returnValue xsi:type=\"expressions:LiteralExpression\" value=\"false\"/>\r\n  </ownedActivityNode>\r\n  <ownedActivityNode xsi:type=\"activities:StoryNode\" name=\"collect elements to be translated\" outgoing=\"//@ownedActivityEdge.0\" incoming=\"//@ownedActivityEdge.5\">\r\n    <storyPattern>\r\n      <objectVariable name=\"match\" outgoingLink=\"//@ownedActivityNode.3/@storyPattern/@linkVariable.0\" bindingState=\"BOUND\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"http://www.moflon.org.TGGRuntime#//Match\"/>\r\n      </objectVariable>\r\n      <objectVariable name=\"application\" incomingLink=\"//@ownedActivityNode.3/@storyPattern/@linkVariable.0\" bindingState=\"BOUND\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"platform:/resource/BlipLanguage/model/BlipLanguage.ecore#//BlipApplication\"/>\r\n      </objectVariable>\r\n      <linkVariable name=\"toBeTranslatedElements\" target=\"//@ownedActivityNode.3/@storyPattern/@objectVariable.1\" source=\"//@ownedActivityNode.3/@storyPattern/@objectVariable.0\" bindingOperator=\"CREATE\"/>\r\n    </storyPattern>\r\n  </ownedActivityNode>\r\n  <ownedActivityNode xsi:type=\"activities:StartNode\" outgoing=\"//@ownedActivityEdge.2\"/>\r\n  <ownedActivityNode xsi:type=\"activities:StoryNode\" name=\"collect context elements\" outgoing=\"//@ownedActivityEdge.4\" incoming=\"//@ownedActivityEdge.0\">\r\n    <storyPattern>\r\n      <objectVariable name=\"match\" bindingState=\"BOUND\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"http://www.moflon.org.TGGRuntime#//Match\"/>\r\n      </objectVariable>\r\n    </storyPattern>\r\n  </ownedActivityNode>\r\n  <ownedActivityNode xsi:type=\"activities:StopNode\" incoming=\"//@ownedActivityEdge.6\">\r\n    <returnValue xsi:type=\"expressions:LiteralExpression\" value=\"true\"/>\r\n  </ownedActivityNode>\r\n  <ownedActivityNode xsi:type=\"activities:StatementNode\" name=\"register objects to match\" outgoing=\"//@ownedActivityEdge.6\" incoming=\"//@ownedActivityEdge.4\">\r\n    <statementExpression xsi:type=\"expressions:LiteralExpression\" value=\"match.registerObject(&quot;application&quot;, application);&#xA;\"/>\r\n  </ownedActivityNode>\r\n  <ownedActivityEdge source=\"//@ownedActivityNode.3\" target=\"//@ownedActivityNode.5\"/>\r\n  <ownedActivityEdge source=\"//@ownedActivityNode.1\" target=\"//@ownedActivityNode.0\"/>\r\n  <ownedActivityEdge source=\"//@ownedActivityNode.4\" target=\"//@ownedActivityNode.1\"/>\r\n  <ownedActivityEdge source=\"//@ownedActivityNode.0\" target=\"//@ownedActivityNode.2\" guard=\"FAILURE\"/>\r\n  <ownedActivityEdge source=\"//@ownedActivityNode.5\" target=\"//@ownedActivityNode.7\"/>\r\n  <ownedActivityEdge source=\"//@ownedActivityNode.0\" target=\"//@ownedActivityNode.3\" guard=\"SUCCESS\"/>\r\n  <ownedActivityEdge source=\"//@ownedActivityNode.7\" target=\"//@ownedActivityNode.6\"/>\r\n</activities:Activity>\r\n" });
		addAnnotation(
				getMApplicationToApplicationRule__IsApplicable_BWD__Match(),
				source,
				new String[] {
						"XMI",
						"<?xml version=\"1.0\" encoding=\"UTF-8\"?>\r\n<activities:Activity xmi:version=\"2.0\" xmlns:xmi=\"http://www.omg.org/XMI\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:TGGLanguage=\"http://www.moflon.org.TGGLanguage\" xmlns:activities=\"http://www.moflon.org.SDMLanguage.activities\" xmlns:csp=\"http://www.moflon.org.TGGLanguage.csp\" xmlns:ecore=\"http://www.eclipse.org/emf/2002/Ecore\" xmlns:expressions=\"http://www.moflon.org.SDMLanguage.expressions\" xmlns:patternExpressions=\"http://www.moflon.org.SDMLanguage.patterns.patternExpressions\">\r\n  <ownedActivityNode xsi:type=\"activities:StoryNode\" name=\"core match\" outgoing=\"//@ownedActivityEdge.8\" incoming=\"//@ownedActivityEdge.2\">\r\n    <storyPattern xsi:type=\"TGGLanguage:TGGRule\" name=\"MApplicationToApplicationRule\" cspSpec=\"&#xD;&#xA;&#x9;&#x9;eq(titleAttr.value, application.title)&#xD;&#xA;&#x9;&#x9;eq(packageNameAttr.value, application.packageName)&#xD;&#xA;&#x9;&#x9;eq(androidPlayLibraryPathAttr.value, application.androidPlayLibraryPath)&#xD;&#xA;&#x9;&#x9;eq(androidMapsApiKeyAttr.value, application.androidMapsApiKey)&#xD;&#xA;&#x9;\">\r\n      <objectVariable xsi:type=\"TGGLanguage:TGGObjectVariable\" name=\"application\" bindingState=\"BOUND\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"platform:/resource/BlipLanguage/model/BlipLanguage.ecore#//BlipApplication\"/>\r\n        <bindingExpression xsi:type=\"expressions:LiteralExpression\" value=\"match.getObject(&quot;application&quot;)\"/>\r\n        <domain href=\"platform:/resource/BlipTGG/model/BlipTGG.tgg.xmi#//@domain.1\"/>\r\n      </objectVariable>\r\n      <objectVariable name=\"match\" bindingState=\"BOUND\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"http://www.moflon.org.TGGRuntime#//Match\"/>\r\n      </objectVariable>\r\n      <correspondence href=\"platform:/resource/BlipTGG/model/BlipTGG.tgg.xmi#//@domain.2\"/>\r\n      <source href=\"platform:/resource/BlipTGG/model/BlipTGG.tgg.xmi#//@domain.0\"/>\r\n      <csp>\r\n        <constraints variables=\"//@ownedActivityNode.0/@storyPattern/@csp/@variables.0 //@ownedActivityNode.0/@storyPattern/@csp/@variables.1\" name=\"eq\">\r\n          <allowedAdornments value=\"BB\"/>\r\n          <allowedAdornments value=\"BF\"/>\r\n          <allowedAdornments value=\"FB\"/>\r\n        </constraints>\r\n        <constraints variables=\"//@ownedActivityNode.0/@storyPattern/@csp/@variables.2 //@ownedActivityNode.0/@storyPattern/@csp/@variables.3\" name=\"eq\">\r\n          <allowedAdornments value=\"BB\"/>\r\n          <allowedAdornments value=\"BF\"/>\r\n          <allowedAdornments value=\"FB\"/>\r\n        </constraints>\r\n        <constraints variables=\"//@ownedActivityNode.0/@storyPattern/@csp/@variables.4 //@ownedActivityNode.0/@storyPattern/@csp/@variables.5\" name=\"eq\">\r\n          <allowedAdornments value=\"BB\"/>\r\n          <allowedAdornments value=\"BF\"/>\r\n          <allowedAdornments value=\"FB\"/>\r\n        </constraints>\r\n        <constraints variables=\"//@ownedActivityNode.0/@storyPattern/@csp/@variables.6 //@ownedActivityNode.0/@storyPattern/@csp/@variables.7\" name=\"eq\">\r\n          <allowedAdornments value=\"BB\"/>\r\n          <allowedAdornments value=\"BF\"/>\r\n          <allowedAdornments value=\"FB\"/>\r\n        </constraints>\r\n        <variables xsi:type=\"csp:AttributeVariable\" type=\"String\" attribute=\"value\" objectVariable=\"titleAttr\"/>\r\n        <variables xsi:type=\"csp:AttributeVariable\" type=\"String\" attribute=\"title\" objectVariable=\"application\"/>\r\n        <variables xsi:type=\"csp:AttributeVariable\" type=\"String\" attribute=\"value\" objectVariable=\"packageNameAttr\"/>\r\n        <variables xsi:type=\"csp:AttributeVariable\" type=\"String\" attribute=\"packageName\" objectVariable=\"application\"/>\r\n        <variables xsi:type=\"csp:AttributeVariable\" type=\"String\" attribute=\"value\" objectVariable=\"androidPlayLibraryPathAttr\"/>\r\n        <variables xsi:type=\"csp:AttributeVariable\" type=\"String\" attribute=\"androidPlayLibraryPath\" objectVariable=\"application\"/>\r\n        <variables xsi:type=\"csp:AttributeVariable\" type=\"String\" attribute=\"value\" objectVariable=\"androidMapsApiKeyAttr\"/>\r\n        <variables xsi:type=\"csp:AttributeVariable\" type=\"String\" attribute=\"androidMapsApiKey\" objectVariable=\"application\"/>\r\n      </csp>\r\n      <target href=\"platform:/resource/BlipTGG/model/BlipTGG.tgg.xmi#//@domain.1\"/>\r\n    </storyPattern>\r\n  </ownedActivityNode>\r\n  <ownedActivityNode xsi:type=\"activities:StoryNode\" name=\"prepare return value\" outgoing=\"//@ownedActivityEdge.2\" incoming=\"//@ownedActivityEdge.4\">\r\n    <storyPattern>\r\n      <objectVariable name=\"ruleresult\" outgoingLink=\"//@ownedActivityNode.1/@storyPattern/@linkVariable.1\" bindingOperator=\"CREATE\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"http://www.moflon.org.TGGRuntime#//IsApplicableRuleResult\"/>\r\n        <attributeAssignment>\r\n          <attribute href=\"http://www.moflon.org.TGGRuntime#//RuleResult/success\"/>\r\n          <valueExpression xsi:type=\"expressions:LiteralExpression\" value=\"false\"/>\r\n        </attributeAssignment>\r\n        <attributeAssignment>\r\n          <attribute href=\"http://www.moflon.org.TGGRuntime#//RuleResult/rule\"/>\r\n          <valueExpression xsi:type=\"expressions:LiteralExpression\" value=\"&quot;MApplicationToApplicationRule&quot;\"/>\r\n        </attributeAssignment>\r\n      </objectVariable>\r\n      <objectVariable name=\"performOperation\" incomingLink=\"//@ownedActivityNode.1/@storyPattern/@linkVariable.0 //@ownedActivityNode.1/@storyPattern/@linkVariable.1\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"http://www.eclipse.org/emf/2002/Ecore#//EOperation\"/>\r\n        <constraint>\r\n          <constraintExpression xsi:type=\"expressions:ComparisonExpression\" operator=\"EQUAL\">\r\n            <rightExpression xsi:type=\"expressions:LiteralExpression\" value=\"&quot;perform_BWD&quot;\"/>\r\n            <leftExpression xsi:type=\"patternExpressions:AttributeValueExpression\" object=\"//@ownedActivityNode.1/@storyPattern/@objectVariable.1\">\r\n              <attribute href=\"http://www.eclipse.org/emf/2002/Ecore#//ENamedElement/name\"/>\r\n            </leftExpression>\r\n          </constraintExpression>\r\n        </constraint>\r\n      </objectVariable>\r\n      <objectVariable name=\"eClass\" outgoingLink=\"//@ownedActivityNode.1/@storyPattern/@linkVariable.0\" bindingState=\"BOUND\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"http://www.eclipse.org/emf/2002/Ecore#//EClass\"/>\r\n        <bindingExpression xsi:type=\"expressions:LiteralExpression\" value=\"this.eClass()\"/>\r\n      </objectVariable>\r\n      <linkVariable name=\"eOperations\" target=\"//@ownedActivityNode.1/@storyPattern/@objectVariable.1\" source=\"//@ownedActivityNode.1/@storyPattern/@objectVariable.2\"/>\r\n      <linkVariable name=\"performOperation\" target=\"//@ownedActivityNode.1/@storyPattern/@objectVariable.1\" source=\"//@ownedActivityNode.1/@storyPattern/@objectVariable.0\" bindingOperator=\"CREATE\"/>\r\n    </storyPattern>\r\n  </ownedActivityNode>\r\n  <ownedActivityNode xsi:type=\"activities:StopNode\" incoming=\"//@ownedActivityEdge.5\">\r\n    <returnValue xsi:type=\"patternExpressions:ObjectVariableExpression\" object=\"//@ownedActivityNode.1/@storyPattern/@objectVariable.0\"/>\r\n  </ownedActivityNode>\r\n  <ownedActivityNode xsi:type=\"activities:StoryNode\" name=\"find context\" outgoing=\"//@ownedActivityEdge.5 //@ownedActivityEdge.7\" incoming=\"//@ownedActivityEdge.0 //@ownedActivityEdge.3 //@ownedActivityEdge.8\" forEach=\"true\">\r\n    <storyPattern xsi:type=\"TGGLanguage:TGGRule\" name=\"MApplicationToApplicationRule\" cspSpec=\"&#xD;&#xA;&#x9;&#x9;eq(titleAttr.value, application.title)&#xD;&#xA;&#x9;&#x9;eq(packageNameAttr.value, application.packageName)&#xD;&#xA;&#x9;&#x9;eq(androidPlayLibraryPathAttr.value, application.androidPlayLibraryPath)&#xD;&#xA;&#x9;&#x9;eq(androidMapsApiKeyAttr.value, application.androidMapsApiKey)&#xD;&#xA;&#x9;\">\r\n      <objectVariable xsi:type=\"TGGLanguage:TGGObjectVariable\" name=\"application\" bindingState=\"BOUND\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"platform:/resource/BlipLanguage/model/BlipLanguage.ecore#//BlipApplication\"/>\r\n        <domain href=\"platform:/resource/BlipTGG/model/BlipTGG.tgg.xmi#//@domain.1\"/>\r\n      </objectVariable>\r\n      <objectVariable name=\"isApplicableMatch\" bindingOperator=\"CREATE\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"http://www.moflon.org.TGGRuntime#//IsApplicableMatch\"/>\r\n      </objectVariable>\r\n      <correspondence href=\"platform:/resource/BlipTGG/model/BlipTGG.tgg.xmi#//@domain.2\"/>\r\n      <source href=\"platform:/resource/BlipTGG/model/BlipTGG.tgg.xmi#//@domain.0\"/>\r\n      <csp>\r\n        <constraints variables=\"//@ownedActivityNode.3/@storyPattern/@csp/@variables.0 //@ownedActivityNode.3/@storyPattern/@csp/@variables.1\" name=\"eq\">\r\n          <allowedAdornments value=\"BB\"/>\r\n          <allowedAdornments value=\"BF\"/>\r\n          <allowedAdornments value=\"FB\"/>\r\n        </constraints>\r\n        <constraints variables=\"//@ownedActivityNode.3/@storyPattern/@csp/@variables.2 //@ownedActivityNode.3/@storyPattern/@csp/@variables.3\" name=\"eq\">\r\n          <allowedAdornments value=\"BB\"/>\r\n          <allowedAdornments value=\"BF\"/>\r\n          <allowedAdornments value=\"FB\"/>\r\n        </constraints>\r\n        <constraints variables=\"//@ownedActivityNode.3/@storyPattern/@csp/@variables.4 //@ownedActivityNode.3/@storyPattern/@csp/@variables.5\" name=\"eq\">\r\n          <allowedAdornments value=\"BB\"/>\r\n          <allowedAdornments value=\"BF\"/>\r\n          <allowedAdornments value=\"FB\"/>\r\n        </constraints>\r\n        <constraints variables=\"//@ownedActivityNode.3/@storyPattern/@csp/@variables.6 //@ownedActivityNode.3/@storyPattern/@csp/@variables.7\" name=\"eq\">\r\n          <allowedAdornments value=\"BB\"/>\r\n          <allowedAdornments value=\"BF\"/>\r\n          <allowedAdornments value=\"FB\"/>\r\n        </constraints>\r\n        <variables xsi:type=\"csp:AttributeVariable\" type=\"String\" attribute=\"value\" objectVariable=\"titleAttr\"/>\r\n        <variables xsi:type=\"csp:AttributeVariable\" type=\"String\" attribute=\"title\" objectVariable=\"application\"/>\r\n        <variables xsi:type=\"csp:AttributeVariable\" type=\"String\" attribute=\"value\" objectVariable=\"packageNameAttr\"/>\r\n        <variables xsi:type=\"csp:AttributeVariable\" type=\"String\" attribute=\"packageName\" objectVariable=\"application\"/>\r\n        <variables xsi:type=\"csp:AttributeVariable\" type=\"String\" attribute=\"value\" objectVariable=\"androidPlayLibraryPathAttr\"/>\r\n        <variables xsi:type=\"csp:AttributeVariable\" type=\"String\" attribute=\"androidPlayLibraryPath\" objectVariable=\"application\"/>\r\n        <variables xsi:type=\"csp:AttributeVariable\" type=\"String\" attribute=\"value\" objectVariable=\"androidMapsApiKeyAttr\"/>\r\n        <variables xsi:type=\"csp:AttributeVariable\" type=\"String\" attribute=\"androidMapsApiKey\" objectVariable=\"application\"/>\r\n      </csp>\r\n      <target href=\"platform:/resource/BlipTGG/model/BlipTGG.tgg.xmi#//@domain.1\"/>\r\n    </storyPattern>\r\n  </ownedActivityNode>\r\n  <ownedActivityNode xsi:type=\"activities:StoryNode\" name=\"add match to rule result\" outgoing=\"//@ownedActivityEdge.3\" incoming=\"//@ownedActivityEdge.6\">\r\n    <storyPattern>\r\n      <objectVariable name=\"isApplicableMatch\" incomingLink=\"//@ownedActivityNode.4/@storyPattern/@linkVariable.0\" bindingState=\"BOUND\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"http://www.moflon.org.TGGRuntime#//IsApplicableMatch\"/>\r\n      </objectVariable>\r\n      <objectVariable name=\"ruleresult\" outgoingLink=\"//@ownedActivityNode.4/@storyPattern/@linkVariable.0\" bindingState=\"BOUND\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"http://www.moflon.org.TGGRuntime#//IsApplicableRuleResult\"/>\r\n        <attributeAssignment>\r\n          <attribute href=\"http://www.moflon.org.TGGRuntime#//RuleResult/success\"/>\r\n          <valueExpression xsi:type=\"expressions:LiteralExpression\" value=\"true\"/>\r\n        </attributeAssignment>\r\n      </objectVariable>\r\n      <linkVariable name=\"isApplicableMatch\" target=\"//@ownedActivityNode.4/@storyPattern/@objectVariable.0\" source=\"//@ownedActivityNode.4/@storyPattern/@objectVariable.1\" bindingOperator=\"CREATE\"/>\r\n    </storyPattern>\r\n  </ownedActivityNode>\r\n  <ownedActivityNode xsi:type=\"activities:StatementNode\" name=\"check CSP\" outgoing=\"//@ownedActivityEdge.0 //@ownedActivityEdge.6\" incoming=\"//@ownedActivityEdge.1\">\r\n    <statementExpression xsi:type=\"expressions:LiteralExpression\" value=\"csp.check();\"/>\r\n  </ownedActivityNode>\r\n  <ownedActivityNode xsi:type=\"activities:StatementNode\" name=\"solve CSP\" outgoing=\"//@ownedActivityEdge.1\" incoming=\"//@ownedActivityEdge.7\">\r\n    <statementExpression xsi:type=\"expressions:LiteralExpression\" value=\"// Create CSP&#xD;&#xA;CSP csp = CspFactory.eINSTANCE.createCSP();&#xD;&#xA;isApplicableMatch.getAttributeInfo().add(csp);&#xD;&#xA;&#xD;&#xA;// Create literals&#xD;&#xA;&#xD;&#xA;// Create attribute variables&#xD;&#xA;Variable&lt;String> var_application_title = CspFactory.eINSTANCE.createVariable(&quot;application.title&quot;, true, csp);&#xD;&#xA;var_application_title.setValue(application.getTitle());&#xD;&#xA;Variable&lt;String> var_application_packageName = CspFactory.eINSTANCE.createVariable(&quot;application.packageName&quot;, true, csp);&#xD;&#xA;var_application_packageName.setValue(application.getPackageName());&#xD;&#xA;Variable&lt;String> var_application_androidPlayLibraryPath = CspFactory.eINSTANCE.createVariable(&quot;application.androidPlayLibraryPath&quot;, true, csp);&#xD;&#xA;var_application_androidPlayLibraryPath.setValue(application.getAndroidPlayLibraryPath());&#xD;&#xA;Variable&lt;String> var_application_androidMapsApiKey = CspFactory.eINSTANCE.createVariable(&quot;application.androidMapsApiKey&quot;, true, csp);&#xD;&#xA;var_application_androidMapsApiKey.setValue(application.getAndroidMapsApiKey());&#xD;&#xA;&#xD;&#xA;// Create explicit parameters&#xD;&#xA;&#xD;&#xA;// Create unbound variables&#xD;&#xA;Variable&lt;String> var_titleAttr_value = CspFactory.eINSTANCE.createVariable(&quot;titleAttr.value&quot;, csp);&#xD;&#xA;Variable&lt;String> var_packageNameAttr_value = CspFactory.eINSTANCE.createVariable(&quot;packageNameAttr.value&quot;, csp);&#xD;&#xA;Variable&lt;String> var_androidPlayLibraryPathAttr_value = CspFactory.eINSTANCE.createVariable(&quot;androidPlayLibraryPathAttr.value&quot;, csp);&#xD;&#xA;Variable&lt;String> var_androidMapsApiKeyAttr_value = CspFactory.eINSTANCE.createVariable(&quot;androidMapsApiKeyAttr.value&quot;, csp);&#xD;&#xA;&#xD;&#xA;// Create constraints&#xD;&#xA;Eq&lt;String> eq = new Eq&lt;String>();Eq&lt;String> eq_0 = new Eq&lt;String>();Eq&lt;String> eq_1 = new Eq&lt;String>();Eq&lt;String> eq_2 = new Eq&lt;String>();&#xD;&#xA;&#xD;&#xA;csp.getConstraints().add(eq);&#xD;&#xA;csp.getConstraints().add(eq_0);&#xD;&#xA;csp.getConstraints().add(eq_1);&#xD;&#xA;csp.getConstraints().add(eq_2);&#xD;&#xA;&#xD;&#xA;// Solve CSP&#xD;&#xA;eq.setRuleName(&quot;&quot;);&#xD;&#xA;eq.solve(var_titleAttr_value,var_application_title);&#xD;&#xA;eq_0.setRuleName(&quot;&quot;);&#xD;&#xA;eq_0.solve(var_packageNameAttr_value,var_application_packageName);&#xD;&#xA;eq_1.setRuleName(&quot;&quot;);&#xD;&#xA;eq_1.solve(var_androidPlayLibraryPathAttr_value,var_application_androidPlayLibraryPath);&#xD;&#xA;eq_2.setRuleName(&quot;&quot;);&#xD;&#xA;eq_2.solve(var_androidMapsApiKeyAttr_value,var_application_androidMapsApiKey);&#xD;&#xA;&#xD;&#xA;// Snapshot pattern match on which CSP is solved&#xD;&#xA;isApplicableMatch.registerObject(&quot;application&quot;,application);&#xD;&#xA;\"/>\r\n  </ownedActivityNode>\r\n  <ownedActivityNode xsi:type=\"activities:StartNode\" outgoing=\"//@ownedActivityEdge.4\"/>\r\n  <ownedActivityEdge source=\"//@ownedActivityNode.5\" target=\"//@ownedActivityNode.3\" guard=\"FAILURE\"/>\r\n  <ownedActivityEdge source=\"//@ownedActivityNode.6\" target=\"//@ownedActivityNode.5\"/>\r\n  <ownedActivityEdge source=\"//@ownedActivityNode.1\" target=\"//@ownedActivityNode.0\"/>\r\n  <ownedActivityEdge source=\"//@ownedActivityNode.4\" target=\"//@ownedActivityNode.3\"/>\r\n  <ownedActivityEdge source=\"//@ownedActivityNode.7\" target=\"//@ownedActivityNode.1\"/>\r\n  <ownedActivityEdge source=\"//@ownedActivityNode.3\" target=\"//@ownedActivityNode.2\" guard=\"END\"/>\r\n  <ownedActivityEdge source=\"//@ownedActivityNode.5\" target=\"//@ownedActivityNode.4\" guard=\"SUCCESS\"/>\r\n  <ownedActivityEdge source=\"//@ownedActivityNode.3\" target=\"//@ownedActivityNode.6\" guard=\"EACH_TIME\"/>\r\n  <ownedActivityEdge source=\"//@ownedActivityNode.0\" target=\"//@ownedActivityNode.3\"/>\r\n</activities:Activity>\r\n" });
		addAnnotation(
				getMApplicationToApplicationRule__IsAppropriate_FWD_Node_0__Node(),
				source,
				new String[] {
						"XMI",
						"<?xml version=\"1.0\" encoding=\"UTF-8\"?>\r\n<activities:Activity xmi:version=\"2.0\" xmlns:xmi=\"http://www.omg.org/XMI\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:TGGLanguage=\"http://www.moflon.org.TGGLanguage\" xmlns:activities=\"http://www.moflon.org.SDMLanguage.activities\" xmlns:callExpressions=\"http://www.moflon.org.SDMLanguage.calls.callExpressions\" xmlns:csp=\"http://www.moflon.org.TGGLanguage.csp\" xmlns:ecore=\"http://www.eclipse.org/emf/2002/Ecore\" xmlns:expressions=\"http://www.moflon.org.SDMLanguage.expressions\" xmlns:patternExpressions=\"http://www.moflon.org.SDMLanguage.patterns.patternExpressions\">\r\n  <ownedActivityNode xsi:type=\"activities:StoryNode\" name=\"prepare return value\" outgoing=\"//@ownedActivityEdge.4\" incoming=\"//@ownedActivityEdge.0\">\r\n    <storyPattern>\r\n      <objectVariable name=\"performOperation\" incomingLink=\"//@ownedActivityNode.0/@storyPattern/@linkVariable.1 //@ownedActivityNode.0/@storyPattern/@linkVariable.0\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"http://www.eclipse.org/emf/2002/Ecore#//EOperation\"/>\r\n        <constraint>\r\n          <constraintExpression xsi:type=\"expressions:ComparisonExpression\" operator=\"EQUAL\">\r\n            <rightExpression xsi:type=\"expressions:LiteralExpression\" value=\"&quot;isApplicable_FWD&quot;\"/>\r\n            <leftExpression xsi:type=\"patternExpressions:AttributeValueExpression\" object=\"//@ownedActivityNode.0/@storyPattern/@objectVariable.0\">\r\n              <attribute href=\"http://www.eclipse.org/emf/2002/Ecore#//ENamedElement/name\"/>\r\n            </leftExpression>\r\n          </constraintExpression>\r\n        </constraint>\r\n      </objectVariable>\r\n      <objectVariable name=\"this\" bindingState=\"BOUND\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"http://www.moflon.org.BlipTGG#//Rules/MApplicationToApplicationRule\"/>\r\n      </objectVariable>\r\n      <objectVariable name=\"ruleresult\" outgoingLink=\"//@ownedActivityNode.0/@storyPattern/@linkVariable.0\" bindingOperator=\"CREATE\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"http://www.moflon.org.TGGRuntime#//IsAppropriateRuleResult\"/>\r\n        <attributeAssignment>\r\n          <attribute href=\"http://www.moflon.org.TGGRuntime#//RuleResult/success\"/>\r\n          <valueExpression xsi:type=\"expressions:LiteralExpression\" value=\"false\"/>\r\n        </attributeAssignment>\r\n      </objectVariable>\r\n      <objectVariable name=\"eClass\" outgoingLink=\"//@ownedActivityNode.0/@storyPattern/@linkVariable.1\" bindingState=\"BOUND\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"http://www.eclipse.org/emf/2002/Ecore#//EClass\"/>\r\n        <bindingExpression xsi:type=\"expressions:LiteralExpression\" value=\"this.eClass()\"/>\r\n      </objectVariable>\r\n      <linkVariable name=\"performOperation\" target=\"//@ownedActivityNode.0/@storyPattern/@objectVariable.0\" source=\"//@ownedActivityNode.0/@storyPattern/@objectVariable.2\" bindingOperator=\"CREATE\"/>\r\n      <linkVariable name=\"eOperations\" target=\"//@ownedActivityNode.0/@storyPattern/@objectVariable.0\" source=\"//@ownedActivityNode.0/@storyPattern/@objectVariable.3\"/>\r\n    </storyPattern>\r\n  </ownedActivityNode>\r\n  <ownedActivityNode xsi:type=\"activities:StoryNode\" name=\"test core match\" outgoing=\"//@ownedActivityEdge.3 //@ownedActivityEdge.1\" incoming=\"//@ownedActivityEdge.4 //@ownedActivityEdge.5 //@ownedActivityEdge.7\" forEach=\"true\">\r\n    <storyPattern xsi:type=\"TGGLanguage:TGGRule\" name=\"MApplicationToApplicationRule\" cspSpec=\"&#xD;&#xA;&#x9;&#x9;eq(titleAttr.value, application.title)&#xD;&#xA;&#x9;&#x9;eq(packageNameAttr.value, application.packageName)&#xD;&#xA;&#x9;&#x9;eq(androidPlayLibraryPathAttr.value, application.androidPlayLibraryPath)&#xD;&#xA;&#x9;&#x9;eq(androidMapsApiKeyAttr.value, application.androidMapsApiKey)&#xD;&#xA;&#x9;\">\r\n      <objectVariable xsi:type=\"TGGLanguage:TGGObjectVariable\" name=\"applicationNode\" outgoingLink=\"//@ownedActivityNode.1/@storyPattern/@linkVariable.0 //@ownedActivityNode.1/@storyPattern/@linkVariable.1 //@ownedActivityNode.1/@storyPattern/@linkVariable.2 //@ownedActivityNode.1/@storyPattern/@linkVariable.3\" bindingState=\"BOUND\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"platform:/plugin/org.moflon.moca.MocaTree/model/MocaTree.ecore#//Node\"/>\r\n        <constraint>\r\n          <constraintExpression xsi:type=\"expressions:ComparisonExpression\" operator=\"EQUAL\">\r\n            <rightExpression xsi:type=\"expressions:LiteralExpression\" value=\"&quot;Application&quot;\"/>\r\n            <leftExpression xsi:type=\"patternExpressions:AttributeValueExpression\">\r\n              <attribute href=\"platform:/plugin/org.moflon.moca.MocaTree/model/MocaTree.ecore#//TreeElement/name\"/>\r\n            </leftExpression>\r\n          </constraintExpression>\r\n        </constraint>\r\n        <domain href=\"platform:/resource/BlipTGG/model/BlipTGG.tgg.xmi#//@domain.0\"/>\r\n      </objectVariable>\r\n      <objectVariable xsi:type=\"TGGLanguage:TGGObjectVariable\" name=\"titleAttr\" incomingLink=\"//@ownedActivityNode.1/@storyPattern/@linkVariable.0\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"platform:/plugin/org.moflon.moca.MocaTree/model/MocaTree.ecore#//Attribute\"/>\r\n        <constraint>\r\n          <constraintExpression xsi:type=\"expressions:ComparisonExpression\" operator=\"EQUAL\">\r\n            <rightExpression xsi:type=\"expressions:LiteralExpression\" value=\"&quot;title&quot;\"/>\r\n            <leftExpression xsi:type=\"patternExpressions:AttributeValueExpression\">\r\n              <attribute href=\"platform:/plugin/org.moflon.moca.MocaTree/model/MocaTree.ecore#//TreeElement/name\"/>\r\n            </leftExpression>\r\n          </constraintExpression>\r\n        </constraint>\r\n        <domain href=\"platform:/resource/BlipTGG/model/BlipTGG.tgg.xmi#//@domain.0\"/>\r\n      </objectVariable>\r\n      <objectVariable xsi:type=\"TGGLanguage:TGGObjectVariable\" name=\"packageNameAttr\" incomingLink=\"//@ownedActivityNode.1/@storyPattern/@linkVariable.1\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"platform:/plugin/org.moflon.moca.MocaTree/model/MocaTree.ecore#//Attribute\"/>\r\n        <constraint>\r\n          <constraintExpression xsi:type=\"expressions:ComparisonExpression\" operator=\"EQUAL\">\r\n            <rightExpression xsi:type=\"expressions:LiteralExpression\" value=\"&quot;packageName&quot;\"/>\r\n            <leftExpression xsi:type=\"patternExpressions:AttributeValueExpression\">\r\n              <attribute href=\"platform:/plugin/org.moflon.moca.MocaTree/model/MocaTree.ecore#//TreeElement/name\"/>\r\n            </leftExpression>\r\n          </constraintExpression>\r\n        </constraint>\r\n        <domain href=\"platform:/resource/BlipTGG/model/BlipTGG.tgg.xmi#//@domain.0\"/>\r\n      </objectVariable>\r\n      <objectVariable xsi:type=\"TGGLanguage:TGGObjectVariable\" name=\"androidPlayLibraryPathAttr\" incomingLink=\"//@ownedActivityNode.1/@storyPattern/@linkVariable.2\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"platform:/plugin/org.moflon.moca.MocaTree/model/MocaTree.ecore#//Attribute\"/>\r\n        <constraint>\r\n          <constraintExpression xsi:type=\"expressions:ComparisonExpression\" operator=\"EQUAL\">\r\n            <rightExpression xsi:type=\"expressions:LiteralExpression\" value=\"&quot;androidPlayLibraryPath&quot;\"/>\r\n            <leftExpression xsi:type=\"patternExpressions:AttributeValueExpression\">\r\n              <attribute href=\"platform:/plugin/org.moflon.moca.MocaTree/model/MocaTree.ecore#//TreeElement/name\"/>\r\n            </leftExpression>\r\n          </constraintExpression>\r\n        </constraint>\r\n        <domain href=\"platform:/resource/BlipTGG/model/BlipTGG.tgg.xmi#//@domain.0\"/>\r\n      </objectVariable>\r\n      <objectVariable xsi:type=\"TGGLanguage:TGGObjectVariable\" name=\"androidMapsApiKeyAttr\" incomingLink=\"//@ownedActivityNode.1/@storyPattern/@linkVariable.3\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"platform:/plugin/org.moflon.moca.MocaTree/model/MocaTree.ecore#//Attribute\"/>\r\n        <constraint>\r\n          <constraintExpression xsi:type=\"expressions:ComparisonExpression\" operator=\"EQUAL\">\r\n            <rightExpression xsi:type=\"expressions:LiteralExpression\" value=\"&quot;androidMapsApiKey&quot;\"/>\r\n            <leftExpression xsi:type=\"patternExpressions:AttributeValueExpression\">\r\n              <attribute href=\"platform:/plugin/org.moflon.moca.MocaTree/model/MocaTree.ecore#//TreeElement/name\"/>\r\n            </leftExpression>\r\n          </constraintExpression>\r\n        </constraint>\r\n        <domain href=\"platform:/resource/BlipTGG/model/BlipTGG.tgg.xmi#//@domain.0\"/>\r\n      </objectVariable>\r\n      <objectVariable name=\"ruleresult\" bindingState=\"BOUND\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"http://www.moflon.org.TGGRuntime#//IsAppropriateRuleResult\"/>\r\n      </objectVariable>\r\n      <objectVariable name=\"match\" bindingOperator=\"CREATE\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"http://www.moflon.org.TGGRuntime#//Match\"/>\r\n      </objectVariable>\r\n      <linkVariable xsi:type=\"TGGLanguage:TGGLinkVariable\" name=\"attribute\" target=\"//@ownedActivityNode.1/@storyPattern/@objectVariable.1\" source=\"//@ownedActivityNode.1/@storyPattern/@objectVariable.0\">\r\n        <domain href=\"platform:/resource/BlipTGG/model/BlipTGG.tgg.xmi#//@domain.0\"/>\r\n      </linkVariable>\r\n      <linkVariable xsi:type=\"TGGLanguage:TGGLinkVariable\" name=\"attribute\" target=\"//@ownedActivityNode.1/@storyPattern/@objectVariable.2\" source=\"//@ownedActivityNode.1/@storyPattern/@objectVariable.0\">\r\n        <domain href=\"platform:/resource/BlipTGG/model/BlipTGG.tgg.xmi#//@domain.0\"/>\r\n      </linkVariable>\r\n      <linkVariable xsi:type=\"TGGLanguage:TGGLinkVariable\" name=\"attribute\" target=\"//@ownedActivityNode.1/@storyPattern/@objectVariable.3\" source=\"//@ownedActivityNode.1/@storyPattern/@objectVariable.0\">\r\n        <domain href=\"platform:/resource/BlipTGG/model/BlipTGG.tgg.xmi#//@domain.0\"/>\r\n      </linkVariable>\r\n      <linkVariable xsi:type=\"TGGLanguage:TGGLinkVariable\" name=\"attribute\" target=\"//@ownedActivityNode.1/@storyPattern/@objectVariable.4\" source=\"//@ownedActivityNode.1/@storyPattern/@objectVariable.0\">\r\n        <domain href=\"platform:/resource/BlipTGG/model/BlipTGG.tgg.xmi#//@domain.0\"/>\r\n      </linkVariable>\r\n      <correspondence href=\"platform:/resource/BlipTGG/model/BlipTGG.tgg.xmi#//@domain.2\"/>\r\n      <source href=\"platform:/resource/BlipTGG/model/BlipTGG.tgg.xmi#//@domain.0\"/>\r\n      <csp>\r\n        <constraints variables=\"//@ownedActivityNode.1/@storyPattern/@csp/@variables.0 //@ownedActivityNode.1/@storyPattern/@csp/@variables.1\" name=\"eq\">\r\n          <allowedAdornments value=\"BB\"/>\r\n          <allowedAdornments value=\"BF\"/>\r\n          <allowedAdornments value=\"FB\"/>\r\n        </constraints>\r\n        <constraints variables=\"//@ownedActivityNode.1/@storyPattern/@csp/@variables.2 //@ownedActivityNode.1/@storyPattern/@csp/@variables.3\" name=\"eq\">\r\n          <allowedAdornments value=\"BB\"/>\r\n          <allowedAdornments value=\"BF\"/>\r\n          <allowedAdornments value=\"FB\"/>\r\n        </constraints>\r\n        <constraints variables=\"//@ownedActivityNode.1/@storyPattern/@csp/@variables.4 //@ownedActivityNode.1/@storyPattern/@csp/@variables.5\" name=\"eq\">\r\n          <allowedAdornments value=\"BB\"/>\r\n          <allowedAdornments value=\"BF\"/>\r\n          <allowedAdornments value=\"FB\"/>\r\n        </constraints>\r\n        <constraints variables=\"//@ownedActivityNode.1/@storyPattern/@csp/@variables.6 //@ownedActivityNode.1/@storyPattern/@csp/@variables.7\" name=\"eq\">\r\n          <allowedAdornments value=\"BB\"/>\r\n          <allowedAdornments value=\"BF\"/>\r\n          <allowedAdornments value=\"FB\"/>\r\n        </constraints>\r\n        <variables xsi:type=\"csp:AttributeVariable\" type=\"String\" attribute=\"value\" objectVariable=\"titleAttr\"/>\r\n        <variables xsi:type=\"csp:AttributeVariable\" type=\"String\" attribute=\"title\" objectVariable=\"application\"/>\r\n        <variables xsi:type=\"csp:AttributeVariable\" type=\"String\" attribute=\"value\" objectVariable=\"packageNameAttr\"/>\r\n        <variables xsi:type=\"csp:AttributeVariable\" type=\"String\" attribute=\"packageName\" objectVariable=\"application\"/>\r\n        <variables xsi:type=\"csp:AttributeVariable\" type=\"String\" attribute=\"value\" objectVariable=\"androidPlayLibraryPathAttr\"/>\r\n        <variables xsi:type=\"csp:AttributeVariable\" type=\"String\" attribute=\"androidPlayLibraryPath\" objectVariable=\"application\"/>\r\n        <variables xsi:type=\"csp:AttributeVariable\" type=\"String\" attribute=\"value\" objectVariable=\"androidMapsApiKeyAttr\"/>\r\n        <variables xsi:type=\"csp:AttributeVariable\" type=\"String\" attribute=\"androidMapsApiKey\" objectVariable=\"application\"/>\r\n      </csp>\r\n      <target href=\"platform:/resource/BlipTGG/model/BlipTGG.tgg.xmi#//@domain.1\"/>\r\n    </storyPattern>\r\n  </ownedActivityNode>\r\n  <ownedActivityNode xsi:type=\"activities:StoryNode\" name=\"set success\" outgoing=\"//@ownedActivityEdge.2\" incoming=\"//@ownedActivityEdge.3\">\r\n    <storyPattern>\r\n      <objectVariable name=\"match\" incomingLink=\"//@ownedActivityNode.2/@storyPattern/@linkVariable.0\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"http://www.moflon.org.TGGRuntime#//Match\"/>\r\n      </objectVariable>\r\n      <objectVariable name=\"ruleresult\" outgoingLink=\"//@ownedActivityNode.2/@storyPattern/@linkVariable.0\" bindingState=\"BOUND\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"http://www.moflon.org.TGGRuntime#//IsAppropriateRuleResult\"/>\r\n        <attributeAssignment>\r\n          <attribute href=\"http://www.moflon.org.TGGRuntime#//RuleResult/success\"/>\r\n          <valueExpression xsi:type=\"expressions:LiteralExpression\" value=\"true\"/>\r\n        </attributeAssignment>\r\n      </objectVariable>\r\n      <linkVariable name=\"matches\" target=\"//@ownedActivityNode.2/@storyPattern/@objectVariable.0\" source=\"//@ownedActivityNode.2/@storyPattern/@objectVariable.1\"/>\r\n    </storyPattern>\r\n  </ownedActivityNode>\r\n  <ownedActivityNode xsi:type=\"activities:StopNode\" incoming=\"//@ownedActivityEdge.2\">\r\n    <returnValue xsi:type=\"patternExpressions:ObjectVariableExpression\" object=\"//@ownedActivityNode.0/@storyPattern/@objectVariable.2\"/>\r\n  </ownedActivityNode>\r\n  <ownedActivityNode xsi:type=\"activities:StartNode\" outgoing=\"//@ownedActivityEdge.0\"/>\r\n  <ownedActivityNode xsi:type=\"activities:StatementNode\" name=\"bookkeeping with generic isAppropriate method\" outgoing=\"//@ownedActivityEdge.5 //@ownedActivityEdge.6\" incoming=\"//@ownedActivityEdge.1\">\r\n    <statementExpression xsi:type=\"callExpressions:MethodCallExpression\">\r\n      <ownedParameterBindings>\r\n        <valueExpression xsi:type=\"expressions:TextualExpression\" expressionText=\"match\"/>\r\n        <parameter href=\"http://www.moflon.org.BlipTGG#//Rules/MApplicationToApplicationRule/isAppropriate_FWD/match\"/>\r\n      </ownedParameterBindings>\r\n      <ownedParameterBindings>\r\n        <valueExpression xsi:type=\"expressions:TextualExpression\" expressionText=\"applicationNode\"/>\r\n        <parameter href=\"http://www.moflon.org.BlipTGG#//Rules/MApplicationToApplicationRule/isAppropriate_FWD/applicationNode\"/>\r\n      </ownedParameterBindings>\r\n      <ownedParameterBindings>\r\n        <valueExpression xsi:type=\"expressions:TextualExpression\" expressionText=\"titleAttr\"/>\r\n        <parameter href=\"http://www.moflon.org.BlipTGG#//Rules/MApplicationToApplicationRule/isAppropriate_FWD/titleAttr\"/>\r\n      </ownedParameterBindings>\r\n      <ownedParameterBindings>\r\n        <valueExpression xsi:type=\"expressions:TextualExpression\" expressionText=\"packageNameAttr\"/>\r\n        <parameter href=\"http://www.moflon.org.BlipTGG#//Rules/MApplicationToApplicationRule/isAppropriate_FWD/packageNameAttr\"/>\r\n      </ownedParameterBindings>\r\n      <ownedParameterBindings>\r\n        <valueExpression xsi:type=\"expressions:TextualExpression\" expressionText=\"androidPlayLibraryPathAttr\"/>\r\n        <parameter href=\"http://www.moflon.org.BlipTGG#//Rules/MApplicationToApplicationRule/isAppropriate_FWD/androidPlayLibraryPathAttr\"/>\r\n      </ownedParameterBindings>\r\n      <ownedParameterBindings>\r\n        <valueExpression xsi:type=\"expressions:TextualExpression\" expressionText=\"androidMapsApiKeyAttr\"/>\r\n        <parameter href=\"http://www.moflon.org.BlipTGG#//Rules/MApplicationToApplicationRule/isAppropriate_FWD/androidMapsApiKeyAttr\"/>\r\n      </ownedParameterBindings>\r\n      <callee href=\"http://www.moflon.org.BlipTGG#//Rules/MApplicationToApplicationRule/isAppropriate_FWD\"/>\r\n      <target xsi:type=\"patternExpressions:ObjectVariableExpression\" object=\"//@ownedActivityNode.0/@storyPattern/@objectVariable.1\"/>\r\n    </statementExpression>\r\n  </ownedActivityNode>\r\n  <ownedActivityNode xsi:type=\"activities:StoryNode\" name=\"Add match to rule result\" outgoing=\"//@ownedActivityEdge.7\" incoming=\"//@ownedActivityEdge.6\">\r\n    <storyPattern>\r\n      <objectVariable name=\"match\" incomingLink=\"//@ownedActivityNode.6/@storyPattern/@linkVariable.0\" bindingState=\"BOUND\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"http://www.moflon.org.TGGRuntime#//Match\"/>\r\n      </objectVariable>\r\n      <objectVariable name=\"ruleresult\" outgoingLink=\"//@ownedActivityNode.6/@storyPattern/@linkVariable.0\" bindingState=\"BOUND\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"http://www.moflon.org.TGGRuntime#//IsAppropriateRuleResult\"/>\r\n      </objectVariable>\r\n      <linkVariable name=\"matches\" target=\"//@ownedActivityNode.6/@storyPattern/@objectVariable.0\" source=\"//@ownedActivityNode.6/@storyPattern/@objectVariable.1\" bindingOperator=\"CREATE\"/>\r\n    </storyPattern>\r\n  </ownedActivityNode>\r\n  <ownedActivityEdge source=\"//@ownedActivityNode.4\" target=\"//@ownedActivityNode.0\"/>\r\n  <ownedActivityEdge source=\"//@ownedActivityNode.1\" target=\"//@ownedActivityNode.5\" guard=\"EACH_TIME\"/>\r\n  <ownedActivityEdge source=\"//@ownedActivityNode.2\" target=\"//@ownedActivityNode.3\"/>\r\n  <ownedActivityEdge source=\"//@ownedActivityNode.1\" target=\"//@ownedActivityNode.2\" guard=\"END\"/>\r\n  <ownedActivityEdge source=\"//@ownedActivityNode.0\" target=\"//@ownedActivityNode.1\"/>\r\n  <ownedActivityEdge source=\"//@ownedActivityNode.5\" target=\"//@ownedActivityNode.1\" guard=\"FAILURE\"/>\r\n  <ownedActivityEdge source=\"//@ownedActivityNode.5\" target=\"//@ownedActivityNode.6\" guard=\"SUCCESS\"/>\r\n  <ownedActivityEdge source=\"//@ownedActivityNode.6\" target=\"//@ownedActivityNode.1\"/>\r\n</activities:Activity>\r\n" });
		addAnnotation(
				getMApplicationToApplicationRule__IsAppropriate_FWD_Attribute_0__Attribute(),
				source,
				new String[] {
						"XMI",
						"<?xml version=\"1.0\" encoding=\"UTF-8\"?>\r\n<activities:Activity xmi:version=\"2.0\" xmlns:xmi=\"http://www.omg.org/XMI\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:TGGLanguage=\"http://www.moflon.org.TGGLanguage\" xmlns:activities=\"http://www.moflon.org.SDMLanguage.activities\" xmlns:callExpressions=\"http://www.moflon.org.SDMLanguage.calls.callExpressions\" xmlns:csp=\"http://www.moflon.org.TGGLanguage.csp\" xmlns:ecore=\"http://www.eclipse.org/emf/2002/Ecore\" xmlns:expressions=\"http://www.moflon.org.SDMLanguage.expressions\" xmlns:patternExpressions=\"http://www.moflon.org.SDMLanguage.patterns.patternExpressions\">\r\n  <ownedActivityNode xsi:type=\"activities:StoryNode\" name=\"prepare return value\" outgoing=\"//@ownedActivityEdge.4\" incoming=\"//@ownedActivityEdge.0\">\r\n    <storyPattern>\r\n      <objectVariable name=\"performOperation\" incomingLink=\"//@ownedActivityNode.0/@storyPattern/@linkVariable.1 //@ownedActivityNode.0/@storyPattern/@linkVariable.0\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"http://www.eclipse.org/emf/2002/Ecore#//EOperation\"/>\r\n        <constraint>\r\n          <constraintExpression xsi:type=\"expressions:ComparisonExpression\" operator=\"EQUAL\">\r\n            <rightExpression xsi:type=\"expressions:LiteralExpression\" value=\"&quot;isApplicable_FWD&quot;\"/>\r\n            <leftExpression xsi:type=\"patternExpressions:AttributeValueExpression\" object=\"//@ownedActivityNode.0/@storyPattern/@objectVariable.0\">\r\n              <attribute href=\"http://www.eclipse.org/emf/2002/Ecore#//ENamedElement/name\"/>\r\n            </leftExpression>\r\n          </constraintExpression>\r\n        </constraint>\r\n      </objectVariable>\r\n      <objectVariable name=\"this\" bindingState=\"BOUND\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"http://www.moflon.org.BlipTGG#//Rules/MApplicationToApplicationRule\"/>\r\n      </objectVariable>\r\n      <objectVariable name=\"ruleresult\" outgoingLink=\"//@ownedActivityNode.0/@storyPattern/@linkVariable.0\" bindingOperator=\"CREATE\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"http://www.moflon.org.TGGRuntime#//IsAppropriateRuleResult\"/>\r\n        <attributeAssignment>\r\n          <attribute href=\"http://www.moflon.org.TGGRuntime#//RuleResult/success\"/>\r\n          <valueExpression xsi:type=\"expressions:LiteralExpression\" value=\"false\"/>\r\n        </attributeAssignment>\r\n      </objectVariable>\r\n      <objectVariable name=\"eClass\" outgoingLink=\"//@ownedActivityNode.0/@storyPattern/@linkVariable.1\" bindingState=\"BOUND\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"http://www.eclipse.org/emf/2002/Ecore#//EClass\"/>\r\n        <bindingExpression xsi:type=\"expressions:LiteralExpression\" value=\"this.eClass()\"/>\r\n      </objectVariable>\r\n      <linkVariable name=\"performOperation\" target=\"//@ownedActivityNode.0/@storyPattern/@objectVariable.0\" source=\"//@ownedActivityNode.0/@storyPattern/@objectVariable.2\" bindingOperator=\"CREATE\"/>\r\n      <linkVariable name=\"eOperations\" target=\"//@ownedActivityNode.0/@storyPattern/@objectVariable.0\" source=\"//@ownedActivityNode.0/@storyPattern/@objectVariable.3\"/>\r\n    </storyPattern>\r\n  </ownedActivityNode>\r\n  <ownedActivityNode xsi:type=\"activities:StoryNode\" name=\"test core match\" outgoing=\"//@ownedActivityEdge.3 //@ownedActivityEdge.1\" incoming=\"//@ownedActivityEdge.4 //@ownedActivityEdge.5 //@ownedActivityEdge.7\" forEach=\"true\">\r\n    <storyPattern xsi:type=\"TGGLanguage:TGGRule\" name=\"MApplicationToApplicationRule\" cspSpec=\"&#xD;&#xA;&#x9;&#x9;eq(titleAttr.value, application.title)&#xD;&#xA;&#x9;&#x9;eq(packageNameAttr.value, application.packageName)&#xD;&#xA;&#x9;&#x9;eq(androidPlayLibraryPathAttr.value, application.androidPlayLibraryPath)&#xD;&#xA;&#x9;&#x9;eq(androidMapsApiKeyAttr.value, application.androidMapsApiKey)&#xD;&#xA;&#x9;\">\r\n      <objectVariable xsi:type=\"TGGLanguage:TGGObjectVariable\" name=\"applicationNode\" outgoingLink=\"//@ownedActivityNode.1/@storyPattern/@linkVariable.0 //@ownedActivityNode.1/@storyPattern/@linkVariable.1 //@ownedActivityNode.1/@storyPattern/@linkVariable.2 //@ownedActivityNode.1/@storyPattern/@linkVariable.3\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"platform:/plugin/org.moflon.moca.MocaTree/model/MocaTree.ecore#//Node\"/>\r\n        <constraint>\r\n          <constraintExpression xsi:type=\"expressions:ComparisonExpression\" operator=\"EQUAL\">\r\n            <rightExpression xsi:type=\"expressions:LiteralExpression\" value=\"&quot;Application&quot;\"/>\r\n            <leftExpression xsi:type=\"patternExpressions:AttributeValueExpression\">\r\n              <attribute href=\"platform:/plugin/org.moflon.moca.MocaTree/model/MocaTree.ecore#//TreeElement/name\"/>\r\n            </leftExpression>\r\n          </constraintExpression>\r\n        </constraint>\r\n        <domain href=\"platform:/resource/BlipTGG/model/BlipTGG.tgg.xmi#//@domain.0\"/>\r\n      </objectVariable>\r\n      <objectVariable xsi:type=\"TGGLanguage:TGGObjectVariable\" name=\"titleAttr\" incomingLink=\"//@ownedActivityNode.1/@storyPattern/@linkVariable.0\" bindingState=\"BOUND\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"platform:/plugin/org.moflon.moca.MocaTree/model/MocaTree.ecore#//Attribute\"/>\r\n        <constraint>\r\n          <constraintExpression xsi:type=\"expressions:ComparisonExpression\" operator=\"EQUAL\">\r\n            <rightExpression xsi:type=\"expressions:LiteralExpression\" value=\"&quot;title&quot;\"/>\r\n            <leftExpression xsi:type=\"patternExpressions:AttributeValueExpression\">\r\n              <attribute href=\"platform:/plugin/org.moflon.moca.MocaTree/model/MocaTree.ecore#//TreeElement/name\"/>\r\n            </leftExpression>\r\n          </constraintExpression>\r\n        </constraint>\r\n        <domain href=\"platform:/resource/BlipTGG/model/BlipTGG.tgg.xmi#//@domain.0\"/>\r\n      </objectVariable>\r\n      <objectVariable xsi:type=\"TGGLanguage:TGGObjectVariable\" name=\"packageNameAttr\" incomingLink=\"//@ownedActivityNode.1/@storyPattern/@linkVariable.1\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"platform:/plugin/org.moflon.moca.MocaTree/model/MocaTree.ecore#//Attribute\"/>\r\n        <constraint>\r\n          <constraintExpression xsi:type=\"expressions:ComparisonExpression\" operator=\"EQUAL\">\r\n            <rightExpression xsi:type=\"expressions:LiteralExpression\" value=\"&quot;packageName&quot;\"/>\r\n            <leftExpression xsi:type=\"patternExpressions:AttributeValueExpression\">\r\n              <attribute href=\"platform:/plugin/org.moflon.moca.MocaTree/model/MocaTree.ecore#//TreeElement/name\"/>\r\n            </leftExpression>\r\n          </constraintExpression>\r\n        </constraint>\r\n        <domain href=\"platform:/resource/BlipTGG/model/BlipTGG.tgg.xmi#//@domain.0\"/>\r\n      </objectVariable>\r\n      <objectVariable xsi:type=\"TGGLanguage:TGGObjectVariable\" name=\"androidPlayLibraryPathAttr\" incomingLink=\"//@ownedActivityNode.1/@storyPattern/@linkVariable.2\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"platform:/plugin/org.moflon.moca.MocaTree/model/MocaTree.ecore#//Attribute\"/>\r\n        <constraint>\r\n          <constraintExpression xsi:type=\"expressions:ComparisonExpression\" operator=\"EQUAL\">\r\n            <rightExpression xsi:type=\"expressions:LiteralExpression\" value=\"&quot;androidPlayLibraryPath&quot;\"/>\r\n            <leftExpression xsi:type=\"patternExpressions:AttributeValueExpression\">\r\n              <attribute href=\"platform:/plugin/org.moflon.moca.MocaTree/model/MocaTree.ecore#//TreeElement/name\"/>\r\n            </leftExpression>\r\n          </constraintExpression>\r\n        </constraint>\r\n        <domain href=\"platform:/resource/BlipTGG/model/BlipTGG.tgg.xmi#//@domain.0\"/>\r\n      </objectVariable>\r\n      <objectVariable xsi:type=\"TGGLanguage:TGGObjectVariable\" name=\"androidMapsApiKeyAttr\" incomingLink=\"//@ownedActivityNode.1/@storyPattern/@linkVariable.3\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"platform:/plugin/org.moflon.moca.MocaTree/model/MocaTree.ecore#//Attribute\"/>\r\n        <constraint>\r\n          <constraintExpression xsi:type=\"expressions:ComparisonExpression\" operator=\"EQUAL\">\r\n            <rightExpression xsi:type=\"expressions:LiteralExpression\" value=\"&quot;androidMapsApiKey&quot;\"/>\r\n            <leftExpression xsi:type=\"patternExpressions:AttributeValueExpression\">\r\n              <attribute href=\"platform:/plugin/org.moflon.moca.MocaTree/model/MocaTree.ecore#//TreeElement/name\"/>\r\n            </leftExpression>\r\n          </constraintExpression>\r\n        </constraint>\r\n        <domain href=\"platform:/resource/BlipTGG/model/BlipTGG.tgg.xmi#//@domain.0\"/>\r\n      </objectVariable>\r\n      <objectVariable name=\"ruleresult\" bindingState=\"BOUND\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"http://www.moflon.org.TGGRuntime#//IsAppropriateRuleResult\"/>\r\n      </objectVariable>\r\n      <objectVariable name=\"match\" bindingOperator=\"CREATE\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"http://www.moflon.org.TGGRuntime#//Match\"/>\r\n      </objectVariable>\r\n      <linkVariable xsi:type=\"TGGLanguage:TGGLinkVariable\" name=\"attribute\" target=\"//@ownedActivityNode.1/@storyPattern/@objectVariable.1\" source=\"//@ownedActivityNode.1/@storyPattern/@objectVariable.0\">\r\n        <domain href=\"platform:/resource/BlipTGG/model/BlipTGG.tgg.xmi#//@domain.0\"/>\r\n      </linkVariable>\r\n      <linkVariable xsi:type=\"TGGLanguage:TGGLinkVariable\" name=\"attribute\" target=\"//@ownedActivityNode.1/@storyPattern/@objectVariable.2\" source=\"//@ownedActivityNode.1/@storyPattern/@objectVariable.0\">\r\n        <domain href=\"platform:/resource/BlipTGG/model/BlipTGG.tgg.xmi#//@domain.0\"/>\r\n      </linkVariable>\r\n      <linkVariable xsi:type=\"TGGLanguage:TGGLinkVariable\" name=\"attribute\" target=\"//@ownedActivityNode.1/@storyPattern/@objectVariable.3\" source=\"//@ownedActivityNode.1/@storyPattern/@objectVariable.0\">\r\n        <domain href=\"platform:/resource/BlipTGG/model/BlipTGG.tgg.xmi#//@domain.0\"/>\r\n      </linkVariable>\r\n      <linkVariable xsi:type=\"TGGLanguage:TGGLinkVariable\" name=\"attribute\" target=\"//@ownedActivityNode.1/@storyPattern/@objectVariable.4\" source=\"//@ownedActivityNode.1/@storyPattern/@objectVariable.0\">\r\n        <domain href=\"platform:/resource/BlipTGG/model/BlipTGG.tgg.xmi#//@domain.0\"/>\r\n      </linkVariable>\r\n      <correspondence href=\"platform:/resource/BlipTGG/model/BlipTGG.tgg.xmi#//@domain.2\"/>\r\n      <source href=\"platform:/resource/BlipTGG/model/BlipTGG.tgg.xmi#//@domain.0\"/>\r\n      <csp>\r\n        <constraints variables=\"//@ownedActivityNode.1/@storyPattern/@csp/@variables.0 //@ownedActivityNode.1/@storyPattern/@csp/@variables.1\" name=\"eq\">\r\n          <allowedAdornments value=\"BB\"/>\r\n          <allowedAdornments value=\"BF\"/>\r\n          <allowedAdornments value=\"FB\"/>\r\n        </constraints>\r\n        <constraints variables=\"//@ownedActivityNode.1/@storyPattern/@csp/@variables.2 //@ownedActivityNode.1/@storyPattern/@csp/@variables.3\" name=\"eq\">\r\n          <allowedAdornments value=\"BB\"/>\r\n          <allowedAdornments value=\"BF\"/>\r\n          <allowedAdornments value=\"FB\"/>\r\n        </constraints>\r\n        <constraints variables=\"//@ownedActivityNode.1/@storyPattern/@csp/@variables.4 //@ownedActivityNode.1/@storyPattern/@csp/@variables.5\" name=\"eq\">\r\n          <allowedAdornments value=\"BB\"/>\r\n          <allowedAdornments value=\"BF\"/>\r\n          <allowedAdornments value=\"FB\"/>\r\n        </constraints>\r\n        <constraints variables=\"//@ownedActivityNode.1/@storyPattern/@csp/@variables.6 //@ownedActivityNode.1/@storyPattern/@csp/@variables.7\" name=\"eq\">\r\n          <allowedAdornments value=\"BB\"/>\r\n          <allowedAdornments value=\"BF\"/>\r\n          <allowedAdornments value=\"FB\"/>\r\n        </constraints>\r\n        <variables xsi:type=\"csp:AttributeVariable\" type=\"String\" attribute=\"value\" objectVariable=\"titleAttr\"/>\r\n        <variables xsi:type=\"csp:AttributeVariable\" type=\"String\" attribute=\"title\" objectVariable=\"application\"/>\r\n        <variables xsi:type=\"csp:AttributeVariable\" type=\"String\" attribute=\"value\" objectVariable=\"packageNameAttr\"/>\r\n        <variables xsi:type=\"csp:AttributeVariable\" type=\"String\" attribute=\"packageName\" objectVariable=\"application\"/>\r\n        <variables xsi:type=\"csp:AttributeVariable\" type=\"String\" attribute=\"value\" objectVariable=\"androidPlayLibraryPathAttr\"/>\r\n        <variables xsi:type=\"csp:AttributeVariable\" type=\"String\" attribute=\"androidPlayLibraryPath\" objectVariable=\"application\"/>\r\n        <variables xsi:type=\"csp:AttributeVariable\" type=\"String\" attribute=\"value\" objectVariable=\"androidMapsApiKeyAttr\"/>\r\n        <variables xsi:type=\"csp:AttributeVariable\" type=\"String\" attribute=\"androidMapsApiKey\" objectVariable=\"application\"/>\r\n      </csp>\r\n      <target href=\"platform:/resource/BlipTGG/model/BlipTGG.tgg.xmi#//@domain.1\"/>\r\n    </storyPattern>\r\n  </ownedActivityNode>\r\n  <ownedActivityNode xsi:type=\"activities:StoryNode\" name=\"set success\" outgoing=\"//@ownedActivityEdge.2\" incoming=\"//@ownedActivityEdge.3\">\r\n    <storyPattern>\r\n      <objectVariable name=\"match\" incomingLink=\"//@ownedActivityNode.2/@storyPattern/@linkVariable.0\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"http://www.moflon.org.TGGRuntime#//Match\"/>\r\n      </objectVariable>\r\n      <objectVariable name=\"ruleresult\" outgoingLink=\"//@ownedActivityNode.2/@storyPattern/@linkVariable.0\" bindingState=\"BOUND\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"http://www.moflon.org.TGGRuntime#//IsAppropriateRuleResult\"/>\r\n        <attributeAssignment>\r\n          <attribute href=\"http://www.moflon.org.TGGRuntime#//RuleResult/success\"/>\r\n          <valueExpression xsi:type=\"expressions:LiteralExpression\" value=\"true\"/>\r\n        </attributeAssignment>\r\n      </objectVariable>\r\n      <linkVariable name=\"matches\" target=\"//@ownedActivityNode.2/@storyPattern/@objectVariable.0\" source=\"//@ownedActivityNode.2/@storyPattern/@objectVariable.1\"/>\r\n    </storyPattern>\r\n  </ownedActivityNode>\r\n  <ownedActivityNode xsi:type=\"activities:StopNode\" incoming=\"//@ownedActivityEdge.2\">\r\n    <returnValue xsi:type=\"patternExpressions:ObjectVariableExpression\" object=\"//@ownedActivityNode.0/@storyPattern/@objectVariable.2\"/>\r\n  </ownedActivityNode>\r\n  <ownedActivityNode xsi:type=\"activities:StartNode\" outgoing=\"//@ownedActivityEdge.0\"/>\r\n  <ownedActivityNode xsi:type=\"activities:StatementNode\" name=\"bookkeeping with generic isAppropriate method\" outgoing=\"//@ownedActivityEdge.5 //@ownedActivityEdge.6\" incoming=\"//@ownedActivityEdge.1\">\r\n    <statementExpression xsi:type=\"callExpressions:MethodCallExpression\">\r\n      <ownedParameterBindings>\r\n        <valueExpression xsi:type=\"expressions:TextualExpression\" expressionText=\"match\"/>\r\n        <parameter href=\"http://www.moflon.org.BlipTGG#//Rules/MApplicationToApplicationRule/isAppropriate_FWD/match\"/>\r\n      </ownedParameterBindings>\r\n      <ownedParameterBindings>\r\n        <valueExpression xsi:type=\"expressions:TextualExpression\" expressionText=\"applicationNode\"/>\r\n        <parameter href=\"http://www.moflon.org.BlipTGG#//Rules/MApplicationToApplicationRule/isAppropriate_FWD/applicationNode\"/>\r\n      </ownedParameterBindings>\r\n      <ownedParameterBindings>\r\n        <valueExpression xsi:type=\"expressions:TextualExpression\" expressionText=\"titleAttr\"/>\r\n        <parameter href=\"http://www.moflon.org.BlipTGG#//Rules/MApplicationToApplicationRule/isAppropriate_FWD/titleAttr\"/>\r\n      </ownedParameterBindings>\r\n      <ownedParameterBindings>\r\n        <valueExpression xsi:type=\"expressions:TextualExpression\" expressionText=\"packageNameAttr\"/>\r\n        <parameter href=\"http://www.moflon.org.BlipTGG#//Rules/MApplicationToApplicationRule/isAppropriate_FWD/packageNameAttr\"/>\r\n      </ownedParameterBindings>\r\n      <ownedParameterBindings>\r\n        <valueExpression xsi:type=\"expressions:TextualExpression\" expressionText=\"androidPlayLibraryPathAttr\"/>\r\n        <parameter href=\"http://www.moflon.org.BlipTGG#//Rules/MApplicationToApplicationRule/isAppropriate_FWD/androidPlayLibraryPathAttr\"/>\r\n      </ownedParameterBindings>\r\n      <ownedParameterBindings>\r\n        <valueExpression xsi:type=\"expressions:TextualExpression\" expressionText=\"androidMapsApiKeyAttr\"/>\r\n        <parameter href=\"http://www.moflon.org.BlipTGG#//Rules/MApplicationToApplicationRule/isAppropriate_FWD/androidMapsApiKeyAttr\"/>\r\n      </ownedParameterBindings>\r\n      <callee href=\"http://www.moflon.org.BlipTGG#//Rules/MApplicationToApplicationRule/isAppropriate_FWD\"/>\r\n      <target xsi:type=\"patternExpressions:ObjectVariableExpression\" object=\"//@ownedActivityNode.0/@storyPattern/@objectVariable.1\"/>\r\n    </statementExpression>\r\n  </ownedActivityNode>\r\n  <ownedActivityNode xsi:type=\"activities:StoryNode\" name=\"Add match to rule result\" outgoing=\"//@ownedActivityEdge.7\" incoming=\"//@ownedActivityEdge.6\">\r\n    <storyPattern>\r\n      <objectVariable name=\"match\" incomingLink=\"//@ownedActivityNode.6/@storyPattern/@linkVariable.0\" bindingState=\"BOUND\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"http://www.moflon.org.TGGRuntime#//Match\"/>\r\n      </objectVariable>\r\n      <objectVariable name=\"ruleresult\" outgoingLink=\"//@ownedActivityNode.6/@storyPattern/@linkVariable.0\" bindingState=\"BOUND\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"http://www.moflon.org.TGGRuntime#//IsAppropriateRuleResult\"/>\r\n      </objectVariable>\r\n      <linkVariable name=\"matches\" target=\"//@ownedActivityNode.6/@storyPattern/@objectVariable.0\" source=\"//@ownedActivityNode.6/@storyPattern/@objectVariable.1\" bindingOperator=\"CREATE\"/>\r\n    </storyPattern>\r\n  </ownedActivityNode>\r\n  <ownedActivityEdge source=\"//@ownedActivityNode.4\" target=\"//@ownedActivityNode.0\"/>\r\n  <ownedActivityEdge source=\"//@ownedActivityNode.1\" target=\"//@ownedActivityNode.5\" guard=\"EACH_TIME\"/>\r\n  <ownedActivityEdge source=\"//@ownedActivityNode.2\" target=\"//@ownedActivityNode.3\"/>\r\n  <ownedActivityEdge source=\"//@ownedActivityNode.1\" target=\"//@ownedActivityNode.2\" guard=\"END\"/>\r\n  <ownedActivityEdge source=\"//@ownedActivityNode.0\" target=\"//@ownedActivityNode.1\"/>\r\n  <ownedActivityEdge source=\"//@ownedActivityNode.5\" target=\"//@ownedActivityNode.1\" guard=\"FAILURE\"/>\r\n  <ownedActivityEdge source=\"//@ownedActivityNode.5\" target=\"//@ownedActivityNode.6\" guard=\"SUCCESS\"/>\r\n  <ownedActivityEdge source=\"//@ownedActivityNode.6\" target=\"//@ownedActivityNode.1\"/>\r\n</activities:Activity>\r\n" });
		addAnnotation(
				getMApplicationToApplicationRule__IsAppropriate_FWD_Attribute_1__Attribute(),
				source,
				new String[] {
						"XMI",
						"<?xml version=\"1.0\" encoding=\"UTF-8\"?>\r\n<activities:Activity xmi:version=\"2.0\" xmlns:xmi=\"http://www.omg.org/XMI\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:TGGLanguage=\"http://www.moflon.org.TGGLanguage\" xmlns:activities=\"http://www.moflon.org.SDMLanguage.activities\" xmlns:callExpressions=\"http://www.moflon.org.SDMLanguage.calls.callExpressions\" xmlns:csp=\"http://www.moflon.org.TGGLanguage.csp\" xmlns:ecore=\"http://www.eclipse.org/emf/2002/Ecore\" xmlns:expressions=\"http://www.moflon.org.SDMLanguage.expressions\" xmlns:patternExpressions=\"http://www.moflon.org.SDMLanguage.patterns.patternExpressions\">\r\n  <ownedActivityNode xsi:type=\"activities:StoryNode\" name=\"prepare return value\" outgoing=\"//@ownedActivityEdge.4\" incoming=\"//@ownedActivityEdge.0\">\r\n    <storyPattern>\r\n      <objectVariable name=\"performOperation\" incomingLink=\"//@ownedActivityNode.0/@storyPattern/@linkVariable.1 //@ownedActivityNode.0/@storyPattern/@linkVariable.0\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"http://www.eclipse.org/emf/2002/Ecore#//EOperation\"/>\r\n        <constraint>\r\n          <constraintExpression xsi:type=\"expressions:ComparisonExpression\" operator=\"EQUAL\">\r\n            <rightExpression xsi:type=\"expressions:LiteralExpression\" value=\"&quot;isApplicable_FWD&quot;\"/>\r\n            <leftExpression xsi:type=\"patternExpressions:AttributeValueExpression\" object=\"//@ownedActivityNode.0/@storyPattern/@objectVariable.0\">\r\n              <attribute href=\"http://www.eclipse.org/emf/2002/Ecore#//ENamedElement/name\"/>\r\n            </leftExpression>\r\n          </constraintExpression>\r\n        </constraint>\r\n      </objectVariable>\r\n      <objectVariable name=\"this\" bindingState=\"BOUND\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"http://www.moflon.org.BlipTGG#//Rules/MApplicationToApplicationRule\"/>\r\n      </objectVariable>\r\n      <objectVariable name=\"ruleresult\" outgoingLink=\"//@ownedActivityNode.0/@storyPattern/@linkVariable.0\" bindingOperator=\"CREATE\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"http://www.moflon.org.TGGRuntime#//IsAppropriateRuleResult\"/>\r\n        <attributeAssignment>\r\n          <attribute href=\"http://www.moflon.org.TGGRuntime#//RuleResult/success\"/>\r\n          <valueExpression xsi:type=\"expressions:LiteralExpression\" value=\"false\"/>\r\n        </attributeAssignment>\r\n      </objectVariable>\r\n      <objectVariable name=\"eClass\" outgoingLink=\"//@ownedActivityNode.0/@storyPattern/@linkVariable.1\" bindingState=\"BOUND\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"http://www.eclipse.org/emf/2002/Ecore#//EClass\"/>\r\n        <bindingExpression xsi:type=\"expressions:LiteralExpression\" value=\"this.eClass()\"/>\r\n      </objectVariable>\r\n      <linkVariable name=\"performOperation\" target=\"//@ownedActivityNode.0/@storyPattern/@objectVariable.0\" source=\"//@ownedActivityNode.0/@storyPattern/@objectVariable.2\" bindingOperator=\"CREATE\"/>\r\n      <linkVariable name=\"eOperations\" target=\"//@ownedActivityNode.0/@storyPattern/@objectVariable.0\" source=\"//@ownedActivityNode.0/@storyPattern/@objectVariable.3\"/>\r\n    </storyPattern>\r\n  </ownedActivityNode>\r\n  <ownedActivityNode xsi:type=\"activities:StoryNode\" name=\"test core match\" outgoing=\"//@ownedActivityEdge.3 //@ownedActivityEdge.1\" incoming=\"//@ownedActivityEdge.4 //@ownedActivityEdge.5 //@ownedActivityEdge.7\" forEach=\"true\">\r\n    <storyPattern xsi:type=\"TGGLanguage:TGGRule\" name=\"MApplicationToApplicationRule\" cspSpec=\"&#xD;&#xA;&#x9;&#x9;eq(titleAttr.value, application.title)&#xD;&#xA;&#x9;&#x9;eq(packageNameAttr.value, application.packageName)&#xD;&#xA;&#x9;&#x9;eq(androidPlayLibraryPathAttr.value, application.androidPlayLibraryPath)&#xD;&#xA;&#x9;&#x9;eq(androidMapsApiKeyAttr.value, application.androidMapsApiKey)&#xD;&#xA;&#x9;\">\r\n      <objectVariable xsi:type=\"TGGLanguage:TGGObjectVariable\" name=\"applicationNode\" outgoingLink=\"//@ownedActivityNode.1/@storyPattern/@linkVariable.0 //@ownedActivityNode.1/@storyPattern/@linkVariable.1 //@ownedActivityNode.1/@storyPattern/@linkVariable.2 //@ownedActivityNode.1/@storyPattern/@linkVariable.3\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"platform:/plugin/org.moflon.moca.MocaTree/model/MocaTree.ecore#//Node\"/>\r\n        <constraint>\r\n          <constraintExpression xsi:type=\"expressions:ComparisonExpression\" operator=\"EQUAL\">\r\n            <rightExpression xsi:type=\"expressions:LiteralExpression\" value=\"&quot;Application&quot;\"/>\r\n            <leftExpression xsi:type=\"patternExpressions:AttributeValueExpression\">\r\n              <attribute href=\"platform:/plugin/org.moflon.moca.MocaTree/model/MocaTree.ecore#//TreeElement/name\"/>\r\n            </leftExpression>\r\n          </constraintExpression>\r\n        </constraint>\r\n        <domain href=\"platform:/resource/BlipTGG/model/BlipTGG.tgg.xmi#//@domain.0\"/>\r\n      </objectVariable>\r\n      <objectVariable xsi:type=\"TGGLanguage:TGGObjectVariable\" name=\"titleAttr\" incomingLink=\"//@ownedActivityNode.1/@storyPattern/@linkVariable.0\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"platform:/plugin/org.moflon.moca.MocaTree/model/MocaTree.ecore#//Attribute\"/>\r\n        <constraint>\r\n          <constraintExpression xsi:type=\"expressions:ComparisonExpression\" operator=\"EQUAL\">\r\n            <rightExpression xsi:type=\"expressions:LiteralExpression\" value=\"&quot;title&quot;\"/>\r\n            <leftExpression xsi:type=\"patternExpressions:AttributeValueExpression\">\r\n              <attribute href=\"platform:/plugin/org.moflon.moca.MocaTree/model/MocaTree.ecore#//TreeElement/name\"/>\r\n            </leftExpression>\r\n          </constraintExpression>\r\n        </constraint>\r\n        <domain href=\"platform:/resource/BlipTGG/model/BlipTGG.tgg.xmi#//@domain.0\"/>\r\n      </objectVariable>\r\n      <objectVariable xsi:type=\"TGGLanguage:TGGObjectVariable\" name=\"packageNameAttr\" incomingLink=\"//@ownedActivityNode.1/@storyPattern/@linkVariable.1\" bindingState=\"BOUND\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"platform:/plugin/org.moflon.moca.MocaTree/model/MocaTree.ecore#//Attribute\"/>\r\n        <constraint>\r\n          <constraintExpression xsi:type=\"expressions:ComparisonExpression\" operator=\"EQUAL\">\r\n            <rightExpression xsi:type=\"expressions:LiteralExpression\" value=\"&quot;packageName&quot;\"/>\r\n            <leftExpression xsi:type=\"patternExpressions:AttributeValueExpression\">\r\n              <attribute href=\"platform:/plugin/org.moflon.moca.MocaTree/model/MocaTree.ecore#//TreeElement/name\"/>\r\n            </leftExpression>\r\n          </constraintExpression>\r\n        </constraint>\r\n        <domain href=\"platform:/resource/BlipTGG/model/BlipTGG.tgg.xmi#//@domain.0\"/>\r\n      </objectVariable>\r\n      <objectVariable xsi:type=\"TGGLanguage:TGGObjectVariable\" name=\"androidPlayLibraryPathAttr\" incomingLink=\"//@ownedActivityNode.1/@storyPattern/@linkVariable.2\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"platform:/plugin/org.moflon.moca.MocaTree/model/MocaTree.ecore#//Attribute\"/>\r\n        <constraint>\r\n          <constraintExpression xsi:type=\"expressions:ComparisonExpression\" operator=\"EQUAL\">\r\n            <rightExpression xsi:type=\"expressions:LiteralExpression\" value=\"&quot;androidPlayLibraryPath&quot;\"/>\r\n            <leftExpression xsi:type=\"patternExpressions:AttributeValueExpression\">\r\n              <attribute href=\"platform:/plugin/org.moflon.moca.MocaTree/model/MocaTree.ecore#//TreeElement/name\"/>\r\n            </leftExpression>\r\n          </constraintExpression>\r\n        </constraint>\r\n        <domain href=\"platform:/resource/BlipTGG/model/BlipTGG.tgg.xmi#//@domain.0\"/>\r\n      </objectVariable>\r\n      <objectVariable xsi:type=\"TGGLanguage:TGGObjectVariable\" name=\"androidMapsApiKeyAttr\" incomingLink=\"//@ownedActivityNode.1/@storyPattern/@linkVariable.3\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"platform:/plugin/org.moflon.moca.MocaTree/model/MocaTree.ecore#//Attribute\"/>\r\n        <constraint>\r\n          <constraintExpression xsi:type=\"expressions:ComparisonExpression\" operator=\"EQUAL\">\r\n            <rightExpression xsi:type=\"expressions:LiteralExpression\" value=\"&quot;androidMapsApiKey&quot;\"/>\r\n            <leftExpression xsi:type=\"patternExpressions:AttributeValueExpression\">\r\n              <attribute href=\"platform:/plugin/org.moflon.moca.MocaTree/model/MocaTree.ecore#//TreeElement/name\"/>\r\n            </leftExpression>\r\n          </constraintExpression>\r\n        </constraint>\r\n        <domain href=\"platform:/resource/BlipTGG/model/BlipTGG.tgg.xmi#//@domain.0\"/>\r\n      </objectVariable>\r\n      <objectVariable name=\"ruleresult\" bindingState=\"BOUND\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"http://www.moflon.org.TGGRuntime#//IsAppropriateRuleResult\"/>\r\n      </objectVariable>\r\n      <objectVariable name=\"match\" bindingOperator=\"CREATE\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"http://www.moflon.org.TGGRuntime#//Match\"/>\r\n      </objectVariable>\r\n      <linkVariable xsi:type=\"TGGLanguage:TGGLinkVariable\" name=\"attribute\" target=\"//@ownedActivityNode.1/@storyPattern/@objectVariable.1\" source=\"//@ownedActivityNode.1/@storyPattern/@objectVariable.0\">\r\n        <domain href=\"platform:/resource/BlipTGG/model/BlipTGG.tgg.xmi#//@domain.0\"/>\r\n      </linkVariable>\r\n      <linkVariable xsi:type=\"TGGLanguage:TGGLinkVariable\" name=\"attribute\" target=\"//@ownedActivityNode.1/@storyPattern/@objectVariable.2\" source=\"//@ownedActivityNode.1/@storyPattern/@objectVariable.0\">\r\n        <domain href=\"platform:/resource/BlipTGG/model/BlipTGG.tgg.xmi#//@domain.0\"/>\r\n      </linkVariable>\r\n      <linkVariable xsi:type=\"TGGLanguage:TGGLinkVariable\" name=\"attribute\" target=\"//@ownedActivityNode.1/@storyPattern/@objectVariable.3\" source=\"//@ownedActivityNode.1/@storyPattern/@objectVariable.0\">\r\n        <domain href=\"platform:/resource/BlipTGG/model/BlipTGG.tgg.xmi#//@domain.0\"/>\r\n      </linkVariable>\r\n      <linkVariable xsi:type=\"TGGLanguage:TGGLinkVariable\" name=\"attribute\" target=\"//@ownedActivityNode.1/@storyPattern/@objectVariable.4\" source=\"//@ownedActivityNode.1/@storyPattern/@objectVariable.0\">\r\n        <domain href=\"platform:/resource/BlipTGG/model/BlipTGG.tgg.xmi#//@domain.0\"/>\r\n      </linkVariable>\r\n      <correspondence href=\"platform:/resource/BlipTGG/model/BlipTGG.tgg.xmi#//@domain.2\"/>\r\n      <source href=\"platform:/resource/BlipTGG/model/BlipTGG.tgg.xmi#//@domain.0\"/>\r\n      <csp>\r\n        <constraints variables=\"//@ownedActivityNode.1/@storyPattern/@csp/@variables.0 //@ownedActivityNode.1/@storyPattern/@csp/@variables.1\" name=\"eq\">\r\n          <allowedAdornments value=\"BB\"/>\r\n          <allowedAdornments value=\"BF\"/>\r\n          <allowedAdornments value=\"FB\"/>\r\n        </constraints>\r\n        <constraints variables=\"//@ownedActivityNode.1/@storyPattern/@csp/@variables.2 //@ownedActivityNode.1/@storyPattern/@csp/@variables.3\" name=\"eq\">\r\n          <allowedAdornments value=\"BB\"/>\r\n          <allowedAdornments value=\"BF\"/>\r\n          <allowedAdornments value=\"FB\"/>\r\n        </constraints>\r\n        <constraints variables=\"//@ownedActivityNode.1/@storyPattern/@csp/@variables.4 //@ownedActivityNode.1/@storyPattern/@csp/@variables.5\" name=\"eq\">\r\n          <allowedAdornments value=\"BB\"/>\r\n          <allowedAdornments value=\"BF\"/>\r\n          <allowedAdornments value=\"FB\"/>\r\n        </constraints>\r\n        <constraints variables=\"//@ownedActivityNode.1/@storyPattern/@csp/@variables.6 //@ownedActivityNode.1/@storyPattern/@csp/@variables.7\" name=\"eq\">\r\n          <allowedAdornments value=\"BB\"/>\r\n          <allowedAdornments value=\"BF\"/>\r\n          <allowedAdornments value=\"FB\"/>\r\n        </constraints>\r\n        <variables xsi:type=\"csp:AttributeVariable\" type=\"String\" attribute=\"value\" objectVariable=\"titleAttr\"/>\r\n        <variables xsi:type=\"csp:AttributeVariable\" type=\"String\" attribute=\"title\" objectVariable=\"application\"/>\r\n        <variables xsi:type=\"csp:AttributeVariable\" type=\"String\" attribute=\"value\" objectVariable=\"packageNameAttr\"/>\r\n        <variables xsi:type=\"csp:AttributeVariable\" type=\"String\" attribute=\"packageName\" objectVariable=\"application\"/>\r\n        <variables xsi:type=\"csp:AttributeVariable\" type=\"String\" attribute=\"value\" objectVariable=\"androidPlayLibraryPathAttr\"/>\r\n        <variables xsi:type=\"csp:AttributeVariable\" type=\"String\" attribute=\"androidPlayLibraryPath\" objectVariable=\"application\"/>\r\n        <variables xsi:type=\"csp:AttributeVariable\" type=\"String\" attribute=\"value\" objectVariable=\"androidMapsApiKeyAttr\"/>\r\n        <variables xsi:type=\"csp:AttributeVariable\" type=\"String\" attribute=\"androidMapsApiKey\" objectVariable=\"application\"/>\r\n      </csp>\r\n      <target href=\"platform:/resource/BlipTGG/model/BlipTGG.tgg.xmi#//@domain.1\"/>\r\n    </storyPattern>\r\n  </ownedActivityNode>\r\n  <ownedActivityNode xsi:type=\"activities:StoryNode\" name=\"set success\" outgoing=\"//@ownedActivityEdge.2\" incoming=\"//@ownedActivityEdge.3\">\r\n    <storyPattern>\r\n      <objectVariable name=\"match\" incomingLink=\"//@ownedActivityNode.2/@storyPattern/@linkVariable.0\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"http://www.moflon.org.TGGRuntime#//Match\"/>\r\n      </objectVariable>\r\n      <objectVariable name=\"ruleresult\" outgoingLink=\"//@ownedActivityNode.2/@storyPattern/@linkVariable.0\" bindingState=\"BOUND\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"http://www.moflon.org.TGGRuntime#//IsAppropriateRuleResult\"/>\r\n        <attributeAssignment>\r\n          <attribute href=\"http://www.moflon.org.TGGRuntime#//RuleResult/success\"/>\r\n          <valueExpression xsi:type=\"expressions:LiteralExpression\" value=\"true\"/>\r\n        </attributeAssignment>\r\n      </objectVariable>\r\n      <linkVariable name=\"matches\" target=\"//@ownedActivityNode.2/@storyPattern/@objectVariable.0\" source=\"//@ownedActivityNode.2/@storyPattern/@objectVariable.1\"/>\r\n    </storyPattern>\r\n  </ownedActivityNode>\r\n  <ownedActivityNode xsi:type=\"activities:StopNode\" incoming=\"//@ownedActivityEdge.2\">\r\n    <returnValue xsi:type=\"patternExpressions:ObjectVariableExpression\" object=\"//@ownedActivityNode.0/@storyPattern/@objectVariable.2\"/>\r\n  </ownedActivityNode>\r\n  <ownedActivityNode xsi:type=\"activities:StartNode\" outgoing=\"//@ownedActivityEdge.0\"/>\r\n  <ownedActivityNode xsi:type=\"activities:StatementNode\" name=\"bookkeeping with generic isAppropriate method\" outgoing=\"//@ownedActivityEdge.5 //@ownedActivityEdge.6\" incoming=\"//@ownedActivityEdge.1\">\r\n    <statementExpression xsi:type=\"callExpressions:MethodCallExpression\">\r\n      <ownedParameterBindings>\r\n        <valueExpression xsi:type=\"expressions:TextualExpression\" expressionText=\"match\"/>\r\n        <parameter href=\"http://www.moflon.org.BlipTGG#//Rules/MApplicationToApplicationRule/isAppropriate_FWD/match\"/>\r\n      </ownedParameterBindings>\r\n      <ownedParameterBindings>\r\n        <valueExpression xsi:type=\"expressions:TextualExpression\" expressionText=\"applicationNode\"/>\r\n        <parameter href=\"http://www.moflon.org.BlipTGG#//Rules/MApplicationToApplicationRule/isAppropriate_FWD/applicationNode\"/>\r\n      </ownedParameterBindings>\r\n      <ownedParameterBindings>\r\n        <valueExpression xsi:type=\"expressions:TextualExpression\" expressionText=\"titleAttr\"/>\r\n        <parameter href=\"http://www.moflon.org.BlipTGG#//Rules/MApplicationToApplicationRule/isAppropriate_FWD/titleAttr\"/>\r\n      </ownedParameterBindings>\r\n      <ownedParameterBindings>\r\n        <valueExpression xsi:type=\"expressions:TextualExpression\" expressionText=\"packageNameAttr\"/>\r\n        <parameter href=\"http://www.moflon.org.BlipTGG#//Rules/MApplicationToApplicationRule/isAppropriate_FWD/packageNameAttr\"/>\r\n      </ownedParameterBindings>\r\n      <ownedParameterBindings>\r\n        <valueExpression xsi:type=\"expressions:TextualExpression\" expressionText=\"androidPlayLibraryPathAttr\"/>\r\n        <parameter href=\"http://www.moflon.org.BlipTGG#//Rules/MApplicationToApplicationRule/isAppropriate_FWD/androidPlayLibraryPathAttr\"/>\r\n      </ownedParameterBindings>\r\n      <ownedParameterBindings>\r\n        <valueExpression xsi:type=\"expressions:TextualExpression\" expressionText=\"androidMapsApiKeyAttr\"/>\r\n        <parameter href=\"http://www.moflon.org.BlipTGG#//Rules/MApplicationToApplicationRule/isAppropriate_FWD/androidMapsApiKeyAttr\"/>\r\n      </ownedParameterBindings>\r\n      <callee href=\"http://www.moflon.org.BlipTGG#//Rules/MApplicationToApplicationRule/isAppropriate_FWD\"/>\r\n      <target xsi:type=\"patternExpressions:ObjectVariableExpression\" object=\"//@ownedActivityNode.0/@storyPattern/@objectVariable.1\"/>\r\n    </statementExpression>\r\n  </ownedActivityNode>\r\n  <ownedActivityNode xsi:type=\"activities:StoryNode\" name=\"Add match to rule result\" outgoing=\"//@ownedActivityEdge.7\" incoming=\"//@ownedActivityEdge.6\">\r\n    <storyPattern>\r\n      <objectVariable name=\"match\" incomingLink=\"//@ownedActivityNode.6/@storyPattern/@linkVariable.0\" bindingState=\"BOUND\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"http://www.moflon.org.TGGRuntime#//Match\"/>\r\n      </objectVariable>\r\n      <objectVariable name=\"ruleresult\" outgoingLink=\"//@ownedActivityNode.6/@storyPattern/@linkVariable.0\" bindingState=\"BOUND\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"http://www.moflon.org.TGGRuntime#//IsAppropriateRuleResult\"/>\r\n      </objectVariable>\r\n      <linkVariable name=\"matches\" target=\"//@ownedActivityNode.6/@storyPattern/@objectVariable.0\" source=\"//@ownedActivityNode.6/@storyPattern/@objectVariable.1\" bindingOperator=\"CREATE\"/>\r\n    </storyPattern>\r\n  </ownedActivityNode>\r\n  <ownedActivityEdge source=\"//@ownedActivityNode.4\" target=\"//@ownedActivityNode.0\"/>\r\n  <ownedActivityEdge source=\"//@ownedActivityNode.1\" target=\"//@ownedActivityNode.5\" guard=\"EACH_TIME\"/>\r\n  <ownedActivityEdge source=\"//@ownedActivityNode.2\" target=\"//@ownedActivityNode.3\"/>\r\n  <ownedActivityEdge source=\"//@ownedActivityNode.1\" target=\"//@ownedActivityNode.2\" guard=\"END\"/>\r\n  <ownedActivityEdge source=\"//@ownedActivityNode.0\" target=\"//@ownedActivityNode.1\"/>\r\n  <ownedActivityEdge source=\"//@ownedActivityNode.5\" target=\"//@ownedActivityNode.1\" guard=\"FAILURE\"/>\r\n  <ownedActivityEdge source=\"//@ownedActivityNode.5\" target=\"//@ownedActivityNode.6\" guard=\"SUCCESS\"/>\r\n  <ownedActivityEdge source=\"//@ownedActivityNode.6\" target=\"//@ownedActivityNode.1\"/>\r\n</activities:Activity>\r\n" });
		addAnnotation(
				getMApplicationToApplicationRule__IsAppropriate_FWD_Attribute_2__Attribute(),
				source,
				new String[] {
						"XMI",
						"<?xml version=\"1.0\" encoding=\"UTF-8\"?>\r\n<activities:Activity xmi:version=\"2.0\" xmlns:xmi=\"http://www.omg.org/XMI\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:TGGLanguage=\"http://www.moflon.org.TGGLanguage\" xmlns:activities=\"http://www.moflon.org.SDMLanguage.activities\" xmlns:callExpressions=\"http://www.moflon.org.SDMLanguage.calls.callExpressions\" xmlns:csp=\"http://www.moflon.org.TGGLanguage.csp\" xmlns:ecore=\"http://www.eclipse.org/emf/2002/Ecore\" xmlns:expressions=\"http://www.moflon.org.SDMLanguage.expressions\" xmlns:patternExpressions=\"http://www.moflon.org.SDMLanguage.patterns.patternExpressions\">\r\n  <ownedActivityNode xsi:type=\"activities:StoryNode\" name=\"prepare return value\" outgoing=\"//@ownedActivityEdge.4\" incoming=\"//@ownedActivityEdge.0\">\r\n    <storyPattern>\r\n      <objectVariable name=\"performOperation\" incomingLink=\"//@ownedActivityNode.0/@storyPattern/@linkVariable.1 //@ownedActivityNode.0/@storyPattern/@linkVariable.0\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"http://www.eclipse.org/emf/2002/Ecore#//EOperation\"/>\r\n        <constraint>\r\n          <constraintExpression xsi:type=\"expressions:ComparisonExpression\" operator=\"EQUAL\">\r\n            <rightExpression xsi:type=\"expressions:LiteralExpression\" value=\"&quot;isApplicable_FWD&quot;\"/>\r\n            <leftExpression xsi:type=\"patternExpressions:AttributeValueExpression\" object=\"//@ownedActivityNode.0/@storyPattern/@objectVariable.0\">\r\n              <attribute href=\"http://www.eclipse.org/emf/2002/Ecore#//ENamedElement/name\"/>\r\n            </leftExpression>\r\n          </constraintExpression>\r\n        </constraint>\r\n      </objectVariable>\r\n      <objectVariable name=\"this\" bindingState=\"BOUND\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"http://www.moflon.org.BlipTGG#//Rules/MApplicationToApplicationRule\"/>\r\n      </objectVariable>\r\n      <objectVariable name=\"ruleresult\" outgoingLink=\"//@ownedActivityNode.0/@storyPattern/@linkVariable.0\" bindingOperator=\"CREATE\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"http://www.moflon.org.TGGRuntime#//IsAppropriateRuleResult\"/>\r\n        <attributeAssignment>\r\n          <attribute href=\"http://www.moflon.org.TGGRuntime#//RuleResult/success\"/>\r\n          <valueExpression xsi:type=\"expressions:LiteralExpression\" value=\"false\"/>\r\n        </attributeAssignment>\r\n      </objectVariable>\r\n      <objectVariable name=\"eClass\" outgoingLink=\"//@ownedActivityNode.0/@storyPattern/@linkVariable.1\" bindingState=\"BOUND\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"http://www.eclipse.org/emf/2002/Ecore#//EClass\"/>\r\n        <bindingExpression xsi:type=\"expressions:LiteralExpression\" value=\"this.eClass()\"/>\r\n      </objectVariable>\r\n      <linkVariable name=\"performOperation\" target=\"//@ownedActivityNode.0/@storyPattern/@objectVariable.0\" source=\"//@ownedActivityNode.0/@storyPattern/@objectVariable.2\" bindingOperator=\"CREATE\"/>\r\n      <linkVariable name=\"eOperations\" target=\"//@ownedActivityNode.0/@storyPattern/@objectVariable.0\" source=\"//@ownedActivityNode.0/@storyPattern/@objectVariable.3\"/>\r\n    </storyPattern>\r\n  </ownedActivityNode>\r\n  <ownedActivityNode xsi:type=\"activities:StoryNode\" name=\"test core match\" outgoing=\"//@ownedActivityEdge.3 //@ownedActivityEdge.1\" incoming=\"//@ownedActivityEdge.4 //@ownedActivityEdge.5 //@ownedActivityEdge.7\" forEach=\"true\">\r\n    <storyPattern xsi:type=\"TGGLanguage:TGGRule\" name=\"MApplicationToApplicationRule\" cspSpec=\"&#xD;&#xA;&#x9;&#x9;eq(titleAttr.value, application.title)&#xD;&#xA;&#x9;&#x9;eq(packageNameAttr.value, application.packageName)&#xD;&#xA;&#x9;&#x9;eq(androidPlayLibraryPathAttr.value, application.androidPlayLibraryPath)&#xD;&#xA;&#x9;&#x9;eq(androidMapsApiKeyAttr.value, application.androidMapsApiKey)&#xD;&#xA;&#x9;\">\r\n      <objectVariable xsi:type=\"TGGLanguage:TGGObjectVariable\" name=\"applicationNode\" outgoingLink=\"//@ownedActivityNode.1/@storyPattern/@linkVariable.0 //@ownedActivityNode.1/@storyPattern/@linkVariable.1 //@ownedActivityNode.1/@storyPattern/@linkVariable.2 //@ownedActivityNode.1/@storyPattern/@linkVariable.3\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"platform:/plugin/org.moflon.moca.MocaTree/model/MocaTree.ecore#//Node\"/>\r\n        <constraint>\r\n          <constraintExpression xsi:type=\"expressions:ComparisonExpression\" operator=\"EQUAL\">\r\n            <rightExpression xsi:type=\"expressions:LiteralExpression\" value=\"&quot;Application&quot;\"/>\r\n            <leftExpression xsi:type=\"patternExpressions:AttributeValueExpression\">\r\n              <attribute href=\"platform:/plugin/org.moflon.moca.MocaTree/model/MocaTree.ecore#//TreeElement/name\"/>\r\n            </leftExpression>\r\n          </constraintExpression>\r\n        </constraint>\r\n        <domain href=\"platform:/resource/BlipTGG/model/BlipTGG.tgg.xmi#//@domain.0\"/>\r\n      </objectVariable>\r\n      <objectVariable xsi:type=\"TGGLanguage:TGGObjectVariable\" name=\"titleAttr\" incomingLink=\"//@ownedActivityNode.1/@storyPattern/@linkVariable.0\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"platform:/plugin/org.moflon.moca.MocaTree/model/MocaTree.ecore#//Attribute\"/>\r\n        <constraint>\r\n          <constraintExpression xsi:type=\"expressions:ComparisonExpression\" operator=\"EQUAL\">\r\n            <rightExpression xsi:type=\"expressions:LiteralExpression\" value=\"&quot;title&quot;\"/>\r\n            <leftExpression xsi:type=\"patternExpressions:AttributeValueExpression\">\r\n              <attribute href=\"platform:/plugin/org.moflon.moca.MocaTree/model/MocaTree.ecore#//TreeElement/name\"/>\r\n            </leftExpression>\r\n          </constraintExpression>\r\n        </constraint>\r\n        <domain href=\"platform:/resource/BlipTGG/model/BlipTGG.tgg.xmi#//@domain.0\"/>\r\n      </objectVariable>\r\n      <objectVariable xsi:type=\"TGGLanguage:TGGObjectVariable\" name=\"packageNameAttr\" incomingLink=\"//@ownedActivityNode.1/@storyPattern/@linkVariable.1\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"platform:/plugin/org.moflon.moca.MocaTree/model/MocaTree.ecore#//Attribute\"/>\r\n        <constraint>\r\n          <constraintExpression xsi:type=\"expressions:ComparisonExpression\" operator=\"EQUAL\">\r\n            <rightExpression xsi:type=\"expressions:LiteralExpression\" value=\"&quot;packageName&quot;\"/>\r\n            <leftExpression xsi:type=\"patternExpressions:AttributeValueExpression\">\r\n              <attribute href=\"platform:/plugin/org.moflon.moca.MocaTree/model/MocaTree.ecore#//TreeElement/name\"/>\r\n            </leftExpression>\r\n          </constraintExpression>\r\n        </constraint>\r\n        <domain href=\"platform:/resource/BlipTGG/model/BlipTGG.tgg.xmi#//@domain.0\"/>\r\n      </objectVariable>\r\n      <objectVariable xsi:type=\"TGGLanguage:TGGObjectVariable\" name=\"androidPlayLibraryPathAttr\" incomingLink=\"//@ownedActivityNode.1/@storyPattern/@linkVariable.2\" bindingState=\"BOUND\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"platform:/plugin/org.moflon.moca.MocaTree/model/MocaTree.ecore#//Attribute\"/>\r\n        <constraint>\r\n          <constraintExpression xsi:type=\"expressions:ComparisonExpression\" operator=\"EQUAL\">\r\n            <rightExpression xsi:type=\"expressions:LiteralExpression\" value=\"&quot;androidPlayLibraryPath&quot;\"/>\r\n            <leftExpression xsi:type=\"patternExpressions:AttributeValueExpression\">\r\n              <attribute href=\"platform:/plugin/org.moflon.moca.MocaTree/model/MocaTree.ecore#//TreeElement/name\"/>\r\n            </leftExpression>\r\n          </constraintExpression>\r\n        </constraint>\r\n        <domain href=\"platform:/resource/BlipTGG/model/BlipTGG.tgg.xmi#//@domain.0\"/>\r\n      </objectVariable>\r\n      <objectVariable xsi:type=\"TGGLanguage:TGGObjectVariable\" name=\"androidMapsApiKeyAttr\" incomingLink=\"//@ownedActivityNode.1/@storyPattern/@linkVariable.3\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"platform:/plugin/org.moflon.moca.MocaTree/model/MocaTree.ecore#//Attribute\"/>\r\n        <constraint>\r\n          <constraintExpression xsi:type=\"expressions:ComparisonExpression\" operator=\"EQUAL\">\r\n            <rightExpression xsi:type=\"expressions:LiteralExpression\" value=\"&quot;androidMapsApiKey&quot;\"/>\r\n            <leftExpression xsi:type=\"patternExpressions:AttributeValueExpression\">\r\n              <attribute href=\"platform:/plugin/org.moflon.moca.MocaTree/model/MocaTree.ecore#//TreeElement/name\"/>\r\n            </leftExpression>\r\n          </constraintExpression>\r\n        </constraint>\r\n        <domain href=\"platform:/resource/BlipTGG/model/BlipTGG.tgg.xmi#//@domain.0\"/>\r\n      </objectVariable>\r\n      <objectVariable name=\"ruleresult\" bindingState=\"BOUND\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"http://www.moflon.org.TGGRuntime#//IsAppropriateRuleResult\"/>\r\n      </objectVariable>\r\n      <objectVariable name=\"match\" bindingOperator=\"CREATE\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"http://www.moflon.org.TGGRuntime#//Match\"/>\r\n      </objectVariable>\r\n      <linkVariable xsi:type=\"TGGLanguage:TGGLinkVariable\" name=\"attribute\" target=\"//@ownedActivityNode.1/@storyPattern/@objectVariable.1\" source=\"//@ownedActivityNode.1/@storyPattern/@objectVariable.0\">\r\n        <domain href=\"platform:/resource/BlipTGG/model/BlipTGG.tgg.xmi#//@domain.0\"/>\r\n      </linkVariable>\r\n      <linkVariable xsi:type=\"TGGLanguage:TGGLinkVariable\" name=\"attribute\" target=\"//@ownedActivityNode.1/@storyPattern/@objectVariable.2\" source=\"//@ownedActivityNode.1/@storyPattern/@objectVariable.0\">\r\n        <domain href=\"platform:/resource/BlipTGG/model/BlipTGG.tgg.xmi#//@domain.0\"/>\r\n      </linkVariable>\r\n      <linkVariable xsi:type=\"TGGLanguage:TGGLinkVariable\" name=\"attribute\" target=\"//@ownedActivityNode.1/@storyPattern/@objectVariable.3\" source=\"//@ownedActivityNode.1/@storyPattern/@objectVariable.0\">\r\n        <domain href=\"platform:/resource/BlipTGG/model/BlipTGG.tgg.xmi#//@domain.0\"/>\r\n      </linkVariable>\r\n      <linkVariable xsi:type=\"TGGLanguage:TGGLinkVariable\" name=\"attribute\" target=\"//@ownedActivityNode.1/@storyPattern/@objectVariable.4\" source=\"//@ownedActivityNode.1/@storyPattern/@objectVariable.0\">\r\n        <domain href=\"platform:/resource/BlipTGG/model/BlipTGG.tgg.xmi#//@domain.0\"/>\r\n      </linkVariable>\r\n      <correspondence href=\"platform:/resource/BlipTGG/model/BlipTGG.tgg.xmi#//@domain.2\"/>\r\n      <source href=\"platform:/resource/BlipTGG/model/BlipTGG.tgg.xmi#//@domain.0\"/>\r\n      <csp>\r\n        <constraints variables=\"//@ownedActivityNode.1/@storyPattern/@csp/@variables.0 //@ownedActivityNode.1/@storyPattern/@csp/@variables.1\" name=\"eq\">\r\n          <allowedAdornments value=\"BB\"/>\r\n          <allowedAdornments value=\"BF\"/>\r\n          <allowedAdornments value=\"FB\"/>\r\n        </constraints>\r\n        <constraints variables=\"//@ownedActivityNode.1/@storyPattern/@csp/@variables.2 //@ownedActivityNode.1/@storyPattern/@csp/@variables.3\" name=\"eq\">\r\n          <allowedAdornments value=\"BB\"/>\r\n          <allowedAdornments value=\"BF\"/>\r\n          <allowedAdornments value=\"FB\"/>\r\n        </constraints>\r\n        <constraints variables=\"//@ownedActivityNode.1/@storyPattern/@csp/@variables.4 //@ownedActivityNode.1/@storyPattern/@csp/@variables.5\" name=\"eq\">\r\n          <allowedAdornments value=\"BB\"/>\r\n          <allowedAdornments value=\"BF\"/>\r\n          <allowedAdornments value=\"FB\"/>\r\n        </constraints>\r\n        <constraints variables=\"//@ownedActivityNode.1/@storyPattern/@csp/@variables.6 //@ownedActivityNode.1/@storyPattern/@csp/@variables.7\" name=\"eq\">\r\n          <allowedAdornments value=\"BB\"/>\r\n          <allowedAdornments value=\"BF\"/>\r\n          <allowedAdornments value=\"FB\"/>\r\n        </constraints>\r\n        <variables xsi:type=\"csp:AttributeVariable\" type=\"String\" attribute=\"value\" objectVariable=\"titleAttr\"/>\r\n        <variables xsi:type=\"csp:AttributeVariable\" type=\"String\" attribute=\"title\" objectVariable=\"application\"/>\r\n        <variables xsi:type=\"csp:AttributeVariable\" type=\"String\" attribute=\"value\" objectVariable=\"packageNameAttr\"/>\r\n        <variables xsi:type=\"csp:AttributeVariable\" type=\"String\" attribute=\"packageName\" objectVariable=\"application\"/>\r\n        <variables xsi:type=\"csp:AttributeVariable\" type=\"String\" attribute=\"value\" objectVariable=\"androidPlayLibraryPathAttr\"/>\r\n        <variables xsi:type=\"csp:AttributeVariable\" type=\"String\" attribute=\"androidPlayLibraryPath\" objectVariable=\"application\"/>\r\n        <variables xsi:type=\"csp:AttributeVariable\" type=\"String\" attribute=\"value\" objectVariable=\"androidMapsApiKeyAttr\"/>\r\n        <variables xsi:type=\"csp:AttributeVariable\" type=\"String\" attribute=\"androidMapsApiKey\" objectVariable=\"application\"/>\r\n      </csp>\r\n      <target href=\"platform:/resource/BlipTGG/model/BlipTGG.tgg.xmi#//@domain.1\"/>\r\n    </storyPattern>\r\n  </ownedActivityNode>\r\n  <ownedActivityNode xsi:type=\"activities:StoryNode\" name=\"set success\" outgoing=\"//@ownedActivityEdge.2\" incoming=\"//@ownedActivityEdge.3\">\r\n    <storyPattern>\r\n      <objectVariable name=\"match\" incomingLink=\"//@ownedActivityNode.2/@storyPattern/@linkVariable.0\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"http://www.moflon.org.TGGRuntime#//Match\"/>\r\n      </objectVariable>\r\n      <objectVariable name=\"ruleresult\" outgoingLink=\"//@ownedActivityNode.2/@storyPattern/@linkVariable.0\" bindingState=\"BOUND\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"http://www.moflon.org.TGGRuntime#//IsAppropriateRuleResult\"/>\r\n        <attributeAssignment>\r\n          <attribute href=\"http://www.moflon.org.TGGRuntime#//RuleResult/success\"/>\r\n          <valueExpression xsi:type=\"expressions:LiteralExpression\" value=\"true\"/>\r\n        </attributeAssignment>\r\n      </objectVariable>\r\n      <linkVariable name=\"matches\" target=\"//@ownedActivityNode.2/@storyPattern/@objectVariable.0\" source=\"//@ownedActivityNode.2/@storyPattern/@objectVariable.1\"/>\r\n    </storyPattern>\r\n  </ownedActivityNode>\r\n  <ownedActivityNode xsi:type=\"activities:StopNode\" incoming=\"//@ownedActivityEdge.2\">\r\n    <returnValue xsi:type=\"patternExpressions:ObjectVariableExpression\" object=\"//@ownedActivityNode.0/@storyPattern/@objectVariable.2\"/>\r\n  </ownedActivityNode>\r\n  <ownedActivityNode xsi:type=\"activities:StartNode\" outgoing=\"//@ownedActivityEdge.0\"/>\r\n  <ownedActivityNode xsi:type=\"activities:StatementNode\" name=\"bookkeeping with generic isAppropriate method\" outgoing=\"//@ownedActivityEdge.5 //@ownedActivityEdge.6\" incoming=\"//@ownedActivityEdge.1\">\r\n    <statementExpression xsi:type=\"callExpressions:MethodCallExpression\">\r\n      <ownedParameterBindings>\r\n        <valueExpression xsi:type=\"expressions:TextualExpression\" expressionText=\"match\"/>\r\n        <parameter href=\"http://www.moflon.org.BlipTGG#//Rules/MApplicationToApplicationRule/isAppropriate_FWD/match\"/>\r\n      </ownedParameterBindings>\r\n      <ownedParameterBindings>\r\n        <valueExpression xsi:type=\"expressions:TextualExpression\" expressionText=\"applicationNode\"/>\r\n        <parameter href=\"http://www.moflon.org.BlipTGG#//Rules/MApplicationToApplicationRule/isAppropriate_FWD/applicationNode\"/>\r\n      </ownedParameterBindings>\r\n      <ownedParameterBindings>\r\n        <valueExpression xsi:type=\"expressions:TextualExpression\" expressionText=\"titleAttr\"/>\r\n        <parameter href=\"http://www.moflon.org.BlipTGG#//Rules/MApplicationToApplicationRule/isAppropriate_FWD/titleAttr\"/>\r\n      </ownedParameterBindings>\r\n      <ownedParameterBindings>\r\n        <valueExpression xsi:type=\"expressions:TextualExpression\" expressionText=\"packageNameAttr\"/>\r\n        <parameter href=\"http://www.moflon.org.BlipTGG#//Rules/MApplicationToApplicationRule/isAppropriate_FWD/packageNameAttr\"/>\r\n      </ownedParameterBindings>\r\n      <ownedParameterBindings>\r\n        <valueExpression xsi:type=\"expressions:TextualExpression\" expressionText=\"androidPlayLibraryPathAttr\"/>\r\n        <parameter href=\"http://www.moflon.org.BlipTGG#//Rules/MApplicationToApplicationRule/isAppropriate_FWD/androidPlayLibraryPathAttr\"/>\r\n      </ownedParameterBindings>\r\n      <ownedParameterBindings>\r\n        <valueExpression xsi:type=\"expressions:TextualExpression\" expressionText=\"androidMapsApiKeyAttr\"/>\r\n        <parameter href=\"http://www.moflon.org.BlipTGG#//Rules/MApplicationToApplicationRule/isAppropriate_FWD/androidMapsApiKeyAttr\"/>\r\n      </ownedParameterBindings>\r\n      <callee href=\"http://www.moflon.org.BlipTGG#//Rules/MApplicationToApplicationRule/isAppropriate_FWD\"/>\r\n      <target xsi:type=\"patternExpressions:ObjectVariableExpression\" object=\"//@ownedActivityNode.0/@storyPattern/@objectVariable.1\"/>\r\n    </statementExpression>\r\n  </ownedActivityNode>\r\n  <ownedActivityNode xsi:type=\"activities:StoryNode\" name=\"Add match to rule result\" outgoing=\"//@ownedActivityEdge.7\" incoming=\"//@ownedActivityEdge.6\">\r\n    <storyPattern>\r\n      <objectVariable name=\"match\" incomingLink=\"//@ownedActivityNode.6/@storyPattern/@linkVariable.0\" bindingState=\"BOUND\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"http://www.moflon.org.TGGRuntime#//Match\"/>\r\n      </objectVariable>\r\n      <objectVariable name=\"ruleresult\" outgoingLink=\"//@ownedActivityNode.6/@storyPattern/@linkVariable.0\" bindingState=\"BOUND\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"http://www.moflon.org.TGGRuntime#//IsAppropriateRuleResult\"/>\r\n      </objectVariable>\r\n      <linkVariable name=\"matches\" target=\"//@ownedActivityNode.6/@storyPattern/@objectVariable.0\" source=\"//@ownedActivityNode.6/@storyPattern/@objectVariable.1\" bindingOperator=\"CREATE\"/>\r\n    </storyPattern>\r\n  </ownedActivityNode>\r\n  <ownedActivityEdge source=\"//@ownedActivityNode.4\" target=\"//@ownedActivityNode.0\"/>\r\n  <ownedActivityEdge source=\"//@ownedActivityNode.1\" target=\"//@ownedActivityNode.5\" guard=\"EACH_TIME\"/>\r\n  <ownedActivityEdge source=\"//@ownedActivityNode.2\" target=\"//@ownedActivityNode.3\"/>\r\n  <ownedActivityEdge source=\"//@ownedActivityNode.1\" target=\"//@ownedActivityNode.2\" guard=\"END\"/>\r\n  <ownedActivityEdge source=\"//@ownedActivityNode.0\" target=\"//@ownedActivityNode.1\"/>\r\n  <ownedActivityEdge source=\"//@ownedActivityNode.5\" target=\"//@ownedActivityNode.1\" guard=\"FAILURE\"/>\r\n  <ownedActivityEdge source=\"//@ownedActivityNode.5\" target=\"//@ownedActivityNode.6\" guard=\"SUCCESS\"/>\r\n  <ownedActivityEdge source=\"//@ownedActivityNode.6\" target=\"//@ownedActivityNode.1\"/>\r\n</activities:Activity>\r\n" });
		addAnnotation(
				getMApplicationToApplicationRule__IsAppropriate_FWD_Attribute_3__Attribute(),
				source,
				new String[] {
						"XMI",
						"<?xml version=\"1.0\" encoding=\"UTF-8\"?>\r\n<activities:Activity xmi:version=\"2.0\" xmlns:xmi=\"http://www.omg.org/XMI\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:TGGLanguage=\"http://www.moflon.org.TGGLanguage\" xmlns:activities=\"http://www.moflon.org.SDMLanguage.activities\" xmlns:callExpressions=\"http://www.moflon.org.SDMLanguage.calls.callExpressions\" xmlns:csp=\"http://www.moflon.org.TGGLanguage.csp\" xmlns:ecore=\"http://www.eclipse.org/emf/2002/Ecore\" xmlns:expressions=\"http://www.moflon.org.SDMLanguage.expressions\" xmlns:patternExpressions=\"http://www.moflon.org.SDMLanguage.patterns.patternExpressions\">\r\n  <ownedActivityNode xsi:type=\"activities:StoryNode\" name=\"prepare return value\" outgoing=\"//@ownedActivityEdge.4\" incoming=\"//@ownedActivityEdge.0\">\r\n    <storyPattern>\r\n      <objectVariable name=\"performOperation\" incomingLink=\"//@ownedActivityNode.0/@storyPattern/@linkVariable.1 //@ownedActivityNode.0/@storyPattern/@linkVariable.0\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"http://www.eclipse.org/emf/2002/Ecore#//EOperation\"/>\r\n        <constraint>\r\n          <constraintExpression xsi:type=\"expressions:ComparisonExpression\" operator=\"EQUAL\">\r\n            <rightExpression xsi:type=\"expressions:LiteralExpression\" value=\"&quot;isApplicable_FWD&quot;\"/>\r\n            <leftExpression xsi:type=\"patternExpressions:AttributeValueExpression\" object=\"//@ownedActivityNode.0/@storyPattern/@objectVariable.0\">\r\n              <attribute href=\"http://www.eclipse.org/emf/2002/Ecore#//ENamedElement/name\"/>\r\n            </leftExpression>\r\n          </constraintExpression>\r\n        </constraint>\r\n      </objectVariable>\r\n      <objectVariable name=\"this\" bindingState=\"BOUND\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"http://www.moflon.org.BlipTGG#//Rules/MApplicationToApplicationRule\"/>\r\n      </objectVariable>\r\n      <objectVariable name=\"ruleresult\" outgoingLink=\"//@ownedActivityNode.0/@storyPattern/@linkVariable.0\" bindingOperator=\"CREATE\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"http://www.moflon.org.TGGRuntime#//IsAppropriateRuleResult\"/>\r\n        <attributeAssignment>\r\n          <attribute href=\"http://www.moflon.org.TGGRuntime#//RuleResult/success\"/>\r\n          <valueExpression xsi:type=\"expressions:LiteralExpression\" value=\"false\"/>\r\n        </attributeAssignment>\r\n      </objectVariable>\r\n      <objectVariable name=\"eClass\" outgoingLink=\"//@ownedActivityNode.0/@storyPattern/@linkVariable.1\" bindingState=\"BOUND\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"http://www.eclipse.org/emf/2002/Ecore#//EClass\"/>\r\n        <bindingExpression xsi:type=\"expressions:LiteralExpression\" value=\"this.eClass()\"/>\r\n      </objectVariable>\r\n      <linkVariable name=\"performOperation\" target=\"//@ownedActivityNode.0/@storyPattern/@objectVariable.0\" source=\"//@ownedActivityNode.0/@storyPattern/@objectVariable.2\" bindingOperator=\"CREATE\"/>\r\n      <linkVariable name=\"eOperations\" target=\"//@ownedActivityNode.0/@storyPattern/@objectVariable.0\" source=\"//@ownedActivityNode.0/@storyPattern/@objectVariable.3\"/>\r\n    </storyPattern>\r\n  </ownedActivityNode>\r\n  <ownedActivityNode xsi:type=\"activities:StoryNode\" name=\"test core match\" outgoing=\"//@ownedActivityEdge.3 //@ownedActivityEdge.1\" incoming=\"//@ownedActivityEdge.4 //@ownedActivityEdge.5 //@ownedActivityEdge.7\" forEach=\"true\">\r\n    <storyPattern xsi:type=\"TGGLanguage:TGGRule\" name=\"MApplicationToApplicationRule\" cspSpec=\"&#xD;&#xA;&#x9;&#x9;eq(titleAttr.value, application.title)&#xD;&#xA;&#x9;&#x9;eq(packageNameAttr.value, application.packageName)&#xD;&#xA;&#x9;&#x9;eq(androidPlayLibraryPathAttr.value, application.androidPlayLibraryPath)&#xD;&#xA;&#x9;&#x9;eq(androidMapsApiKeyAttr.value, application.androidMapsApiKey)&#xD;&#xA;&#x9;\">\r\n      <objectVariable xsi:type=\"TGGLanguage:TGGObjectVariable\" name=\"applicationNode\" outgoingLink=\"//@ownedActivityNode.1/@storyPattern/@linkVariable.0 //@ownedActivityNode.1/@storyPattern/@linkVariable.1 //@ownedActivityNode.1/@storyPattern/@linkVariable.2 //@ownedActivityNode.1/@storyPattern/@linkVariable.3\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"platform:/plugin/org.moflon.moca.MocaTree/model/MocaTree.ecore#//Node\"/>\r\n        <constraint>\r\n          <constraintExpression xsi:type=\"expressions:ComparisonExpression\" operator=\"EQUAL\">\r\n            <rightExpression xsi:type=\"expressions:LiteralExpression\" value=\"&quot;Application&quot;\"/>\r\n            <leftExpression xsi:type=\"patternExpressions:AttributeValueExpression\">\r\n              <attribute href=\"platform:/plugin/org.moflon.moca.MocaTree/model/MocaTree.ecore#//TreeElement/name\"/>\r\n            </leftExpression>\r\n          </constraintExpression>\r\n        </constraint>\r\n        <domain href=\"platform:/resource/BlipTGG/model/BlipTGG.tgg.xmi#//@domain.0\"/>\r\n      </objectVariable>\r\n      <objectVariable xsi:type=\"TGGLanguage:TGGObjectVariable\" name=\"titleAttr\" incomingLink=\"//@ownedActivityNode.1/@storyPattern/@linkVariable.0\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"platform:/plugin/org.moflon.moca.MocaTree/model/MocaTree.ecore#//Attribute\"/>\r\n        <constraint>\r\n          <constraintExpression xsi:type=\"expressions:ComparisonExpression\" operator=\"EQUAL\">\r\n            <rightExpression xsi:type=\"expressions:LiteralExpression\" value=\"&quot;title&quot;\"/>\r\n            <leftExpression xsi:type=\"patternExpressions:AttributeValueExpression\">\r\n              <attribute href=\"platform:/plugin/org.moflon.moca.MocaTree/model/MocaTree.ecore#//TreeElement/name\"/>\r\n            </leftExpression>\r\n          </constraintExpression>\r\n        </constraint>\r\n        <domain href=\"platform:/resource/BlipTGG/model/BlipTGG.tgg.xmi#//@domain.0\"/>\r\n      </objectVariable>\r\n      <objectVariable xsi:type=\"TGGLanguage:TGGObjectVariable\" name=\"packageNameAttr\" incomingLink=\"//@ownedActivityNode.1/@storyPattern/@linkVariable.1\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"platform:/plugin/org.moflon.moca.MocaTree/model/MocaTree.ecore#//Attribute\"/>\r\n        <constraint>\r\n          <constraintExpression xsi:type=\"expressions:ComparisonExpression\" operator=\"EQUAL\">\r\n            <rightExpression xsi:type=\"expressions:LiteralExpression\" value=\"&quot;packageName&quot;\"/>\r\n            <leftExpression xsi:type=\"patternExpressions:AttributeValueExpression\">\r\n              <attribute href=\"platform:/plugin/org.moflon.moca.MocaTree/model/MocaTree.ecore#//TreeElement/name\"/>\r\n            </leftExpression>\r\n          </constraintExpression>\r\n        </constraint>\r\n        <domain href=\"platform:/resource/BlipTGG/model/BlipTGG.tgg.xmi#//@domain.0\"/>\r\n      </objectVariable>\r\n      <objectVariable xsi:type=\"TGGLanguage:TGGObjectVariable\" name=\"androidPlayLibraryPathAttr\" incomingLink=\"//@ownedActivityNode.1/@storyPattern/@linkVariable.2\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"platform:/plugin/org.moflon.moca.MocaTree/model/MocaTree.ecore#//Attribute\"/>\r\n        <constraint>\r\n          <constraintExpression xsi:type=\"expressions:ComparisonExpression\" operator=\"EQUAL\">\r\n            <rightExpression xsi:type=\"expressions:LiteralExpression\" value=\"&quot;androidPlayLibraryPath&quot;\"/>\r\n            <leftExpression xsi:type=\"patternExpressions:AttributeValueExpression\">\r\n              <attribute href=\"platform:/plugin/org.moflon.moca.MocaTree/model/MocaTree.ecore#//TreeElement/name\"/>\r\n            </leftExpression>\r\n          </constraintExpression>\r\n        </constraint>\r\n        <domain href=\"platform:/resource/BlipTGG/model/BlipTGG.tgg.xmi#//@domain.0\"/>\r\n      </objectVariable>\r\n      <objectVariable xsi:type=\"TGGLanguage:TGGObjectVariable\" name=\"androidMapsApiKeyAttr\" incomingLink=\"//@ownedActivityNode.1/@storyPattern/@linkVariable.3\" bindingState=\"BOUND\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"platform:/plugin/org.moflon.moca.MocaTree/model/MocaTree.ecore#//Attribute\"/>\r\n        <constraint>\r\n          <constraintExpression xsi:type=\"expressions:ComparisonExpression\" operator=\"EQUAL\">\r\n            <rightExpression xsi:type=\"expressions:LiteralExpression\" value=\"&quot;androidMapsApiKey&quot;\"/>\r\n            <leftExpression xsi:type=\"patternExpressions:AttributeValueExpression\">\r\n              <attribute href=\"platform:/plugin/org.moflon.moca.MocaTree/model/MocaTree.ecore#//TreeElement/name\"/>\r\n            </leftExpression>\r\n          </constraintExpression>\r\n        </constraint>\r\n        <domain href=\"platform:/resource/BlipTGG/model/BlipTGG.tgg.xmi#//@domain.0\"/>\r\n      </objectVariable>\r\n      <objectVariable name=\"ruleresult\" bindingState=\"BOUND\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"http://www.moflon.org.TGGRuntime#//IsAppropriateRuleResult\"/>\r\n      </objectVariable>\r\n      <objectVariable name=\"match\" bindingOperator=\"CREATE\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"http://www.moflon.org.TGGRuntime#//Match\"/>\r\n      </objectVariable>\r\n      <linkVariable xsi:type=\"TGGLanguage:TGGLinkVariable\" name=\"attribute\" target=\"//@ownedActivityNode.1/@storyPattern/@objectVariable.1\" source=\"//@ownedActivityNode.1/@storyPattern/@objectVariable.0\">\r\n        <domain href=\"platform:/resource/BlipTGG/model/BlipTGG.tgg.xmi#//@domain.0\"/>\r\n      </linkVariable>\r\n      <linkVariable xsi:type=\"TGGLanguage:TGGLinkVariable\" name=\"attribute\" target=\"//@ownedActivityNode.1/@storyPattern/@objectVariable.2\" source=\"//@ownedActivityNode.1/@storyPattern/@objectVariable.0\">\r\n        <domain href=\"platform:/resource/BlipTGG/model/BlipTGG.tgg.xmi#//@domain.0\"/>\r\n      </linkVariable>\r\n      <linkVariable xsi:type=\"TGGLanguage:TGGLinkVariable\" name=\"attribute\" target=\"//@ownedActivityNode.1/@storyPattern/@objectVariable.3\" source=\"//@ownedActivityNode.1/@storyPattern/@objectVariable.0\">\r\n        <domain href=\"platform:/resource/BlipTGG/model/BlipTGG.tgg.xmi#//@domain.0\"/>\r\n      </linkVariable>\r\n      <linkVariable xsi:type=\"TGGLanguage:TGGLinkVariable\" name=\"attribute\" target=\"//@ownedActivityNode.1/@storyPattern/@objectVariable.4\" source=\"//@ownedActivityNode.1/@storyPattern/@objectVariable.0\">\r\n        <domain href=\"platform:/resource/BlipTGG/model/BlipTGG.tgg.xmi#//@domain.0\"/>\r\n      </linkVariable>\r\n      <correspondence href=\"platform:/resource/BlipTGG/model/BlipTGG.tgg.xmi#//@domain.2\"/>\r\n      <source href=\"platform:/resource/BlipTGG/model/BlipTGG.tgg.xmi#//@domain.0\"/>\r\n      <csp>\r\n        <constraints variables=\"//@ownedActivityNode.1/@storyPattern/@csp/@variables.0 //@ownedActivityNode.1/@storyPattern/@csp/@variables.1\" name=\"eq\">\r\n          <allowedAdornments value=\"BB\"/>\r\n          <allowedAdornments value=\"BF\"/>\r\n          <allowedAdornments value=\"FB\"/>\r\n        </constraints>\r\n        <constraints variables=\"//@ownedActivityNode.1/@storyPattern/@csp/@variables.2 //@ownedActivityNode.1/@storyPattern/@csp/@variables.3\" name=\"eq\">\r\n          <allowedAdornments value=\"BB\"/>\r\n          <allowedAdornments value=\"BF\"/>\r\n          <allowedAdornments value=\"FB\"/>\r\n        </constraints>\r\n        <constraints variables=\"//@ownedActivityNode.1/@storyPattern/@csp/@variables.4 //@ownedActivityNode.1/@storyPattern/@csp/@variables.5\" name=\"eq\">\r\n          <allowedAdornments value=\"BB\"/>\r\n          <allowedAdornments value=\"BF\"/>\r\n          <allowedAdornments value=\"FB\"/>\r\n        </constraints>\r\n        <constraints variables=\"//@ownedActivityNode.1/@storyPattern/@csp/@variables.6 //@ownedActivityNode.1/@storyPattern/@csp/@variables.7\" name=\"eq\">\r\n          <allowedAdornments value=\"BB\"/>\r\n          <allowedAdornments value=\"BF\"/>\r\n          <allowedAdornments value=\"FB\"/>\r\n        </constraints>\r\n        <variables xsi:type=\"csp:AttributeVariable\" type=\"String\" attribute=\"value\" objectVariable=\"titleAttr\"/>\r\n        <variables xsi:type=\"csp:AttributeVariable\" type=\"String\" attribute=\"title\" objectVariable=\"application\"/>\r\n        <variables xsi:type=\"csp:AttributeVariable\" type=\"String\" attribute=\"value\" objectVariable=\"packageNameAttr\"/>\r\n        <variables xsi:type=\"csp:AttributeVariable\" type=\"String\" attribute=\"packageName\" objectVariable=\"application\"/>\r\n        <variables xsi:type=\"csp:AttributeVariable\" type=\"String\" attribute=\"value\" objectVariable=\"androidPlayLibraryPathAttr\"/>\r\n        <variables xsi:type=\"csp:AttributeVariable\" type=\"String\" attribute=\"androidPlayLibraryPath\" objectVariable=\"application\"/>\r\n        <variables xsi:type=\"csp:AttributeVariable\" type=\"String\" attribute=\"value\" objectVariable=\"androidMapsApiKeyAttr\"/>\r\n        <variables xsi:type=\"csp:AttributeVariable\" type=\"String\" attribute=\"androidMapsApiKey\" objectVariable=\"application\"/>\r\n      </csp>\r\n      <target href=\"platform:/resource/BlipTGG/model/BlipTGG.tgg.xmi#//@domain.1\"/>\r\n    </storyPattern>\r\n  </ownedActivityNode>\r\n  <ownedActivityNode xsi:type=\"activities:StoryNode\" name=\"set success\" outgoing=\"//@ownedActivityEdge.2\" incoming=\"//@ownedActivityEdge.3\">\r\n    <storyPattern>\r\n      <objectVariable name=\"match\" incomingLink=\"//@ownedActivityNode.2/@storyPattern/@linkVariable.0\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"http://www.moflon.org.TGGRuntime#//Match\"/>\r\n      </objectVariable>\r\n      <objectVariable name=\"ruleresult\" outgoingLink=\"//@ownedActivityNode.2/@storyPattern/@linkVariable.0\" bindingState=\"BOUND\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"http://www.moflon.org.TGGRuntime#//IsAppropriateRuleResult\"/>\r\n        <attributeAssignment>\r\n          <attribute href=\"http://www.moflon.org.TGGRuntime#//RuleResult/success\"/>\r\n          <valueExpression xsi:type=\"expressions:LiteralExpression\" value=\"true\"/>\r\n        </attributeAssignment>\r\n      </objectVariable>\r\n      <linkVariable name=\"matches\" target=\"//@ownedActivityNode.2/@storyPattern/@objectVariable.0\" source=\"//@ownedActivityNode.2/@storyPattern/@objectVariable.1\"/>\r\n    </storyPattern>\r\n  </ownedActivityNode>\r\n  <ownedActivityNode xsi:type=\"activities:StopNode\" incoming=\"//@ownedActivityEdge.2\">\r\n    <returnValue xsi:type=\"patternExpressions:ObjectVariableExpression\" object=\"//@ownedActivityNode.0/@storyPattern/@objectVariable.2\"/>\r\n  </ownedActivityNode>\r\n  <ownedActivityNode xsi:type=\"activities:StartNode\" outgoing=\"//@ownedActivityEdge.0\"/>\r\n  <ownedActivityNode xsi:type=\"activities:StatementNode\" name=\"bookkeeping with generic isAppropriate method\" outgoing=\"//@ownedActivityEdge.5 //@ownedActivityEdge.6\" incoming=\"//@ownedActivityEdge.1\">\r\n    <statementExpression xsi:type=\"callExpressions:MethodCallExpression\">\r\n      <ownedParameterBindings>\r\n        <valueExpression xsi:type=\"expressions:TextualExpression\" expressionText=\"match\"/>\r\n        <parameter href=\"http://www.moflon.org.BlipTGG#//Rules/MApplicationToApplicationRule/isAppropriate_FWD/match\"/>\r\n      </ownedParameterBindings>\r\n      <ownedParameterBindings>\r\n        <valueExpression xsi:type=\"expressions:TextualExpression\" expressionText=\"applicationNode\"/>\r\n        <parameter href=\"http://www.moflon.org.BlipTGG#//Rules/MApplicationToApplicationRule/isAppropriate_FWD/applicationNode\"/>\r\n      </ownedParameterBindings>\r\n      <ownedParameterBindings>\r\n        <valueExpression xsi:type=\"expressions:TextualExpression\" expressionText=\"titleAttr\"/>\r\n        <parameter href=\"http://www.moflon.org.BlipTGG#//Rules/MApplicationToApplicationRule/isAppropriate_FWD/titleAttr\"/>\r\n      </ownedParameterBindings>\r\n      <ownedParameterBindings>\r\n        <valueExpression xsi:type=\"expressions:TextualExpression\" expressionText=\"packageNameAttr\"/>\r\n        <parameter href=\"http://www.moflon.org.BlipTGG#//Rules/MApplicationToApplicationRule/isAppropriate_FWD/packageNameAttr\"/>\r\n      </ownedParameterBindings>\r\n      <ownedParameterBindings>\r\n        <valueExpression xsi:type=\"expressions:TextualExpression\" expressionText=\"androidPlayLibraryPathAttr\"/>\r\n        <parameter href=\"http://www.moflon.org.BlipTGG#//Rules/MApplicationToApplicationRule/isAppropriate_FWD/androidPlayLibraryPathAttr\"/>\r\n      </ownedParameterBindings>\r\n      <ownedParameterBindings>\r\n        <valueExpression xsi:type=\"expressions:TextualExpression\" expressionText=\"androidMapsApiKeyAttr\"/>\r\n        <parameter href=\"http://www.moflon.org.BlipTGG#//Rules/MApplicationToApplicationRule/isAppropriate_FWD/androidMapsApiKeyAttr\"/>\r\n      </ownedParameterBindings>\r\n      <callee href=\"http://www.moflon.org.BlipTGG#//Rules/MApplicationToApplicationRule/isAppropriate_FWD\"/>\r\n      <target xsi:type=\"patternExpressions:ObjectVariableExpression\" object=\"//@ownedActivityNode.0/@storyPattern/@objectVariable.1\"/>\r\n    </statementExpression>\r\n  </ownedActivityNode>\r\n  <ownedActivityNode xsi:type=\"activities:StoryNode\" name=\"Add match to rule result\" outgoing=\"//@ownedActivityEdge.7\" incoming=\"//@ownedActivityEdge.6\">\r\n    <storyPattern>\r\n      <objectVariable name=\"match\" incomingLink=\"//@ownedActivityNode.6/@storyPattern/@linkVariable.0\" bindingState=\"BOUND\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"http://www.moflon.org.TGGRuntime#//Match\"/>\r\n      </objectVariable>\r\n      <objectVariable name=\"ruleresult\" outgoingLink=\"//@ownedActivityNode.6/@storyPattern/@linkVariable.0\" bindingState=\"BOUND\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"http://www.moflon.org.TGGRuntime#//IsAppropriateRuleResult\"/>\r\n      </objectVariable>\r\n      <linkVariable name=\"matches\" target=\"//@ownedActivityNode.6/@storyPattern/@objectVariable.0\" source=\"//@ownedActivityNode.6/@storyPattern/@objectVariable.1\" bindingOperator=\"CREATE\"/>\r\n    </storyPattern>\r\n  </ownedActivityNode>\r\n  <ownedActivityEdge source=\"//@ownedActivityNode.4\" target=\"//@ownedActivityNode.0\"/>\r\n  <ownedActivityEdge source=\"//@ownedActivityNode.1\" target=\"//@ownedActivityNode.5\" guard=\"EACH_TIME\"/>\r\n  <ownedActivityEdge source=\"//@ownedActivityNode.2\" target=\"//@ownedActivityNode.3\"/>\r\n  <ownedActivityEdge source=\"//@ownedActivityNode.1\" target=\"//@ownedActivityNode.2\" guard=\"END\"/>\r\n  <ownedActivityEdge source=\"//@ownedActivityNode.0\" target=\"//@ownedActivityNode.1\"/>\r\n  <ownedActivityEdge source=\"//@ownedActivityNode.5\" target=\"//@ownedActivityNode.1\" guard=\"FAILURE\"/>\r\n  <ownedActivityEdge source=\"//@ownedActivityNode.5\" target=\"//@ownedActivityNode.6\" guard=\"SUCCESS\"/>\r\n  <ownedActivityEdge source=\"//@ownedActivityNode.6\" target=\"//@ownedActivityNode.1\"/>\r\n</activities:Activity>\r\n" });
		addAnnotation(
				getMApplicationToApplicationRule__IsAppropriate_BWD_BlipApplication_0__BlipApplication(),
				source,
				new String[] {
						"XMI",
						"<?xml version=\"1.0\" encoding=\"UTF-8\"?>\r\n<activities:Activity xmi:version=\"2.0\" xmlns:xmi=\"http://www.omg.org/XMI\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:TGGLanguage=\"http://www.moflon.org.TGGLanguage\" xmlns:activities=\"http://www.moflon.org.SDMLanguage.activities\" xmlns:callExpressions=\"http://www.moflon.org.SDMLanguage.calls.callExpressions\" xmlns:csp=\"http://www.moflon.org.TGGLanguage.csp\" xmlns:ecore=\"http://www.eclipse.org/emf/2002/Ecore\" xmlns:expressions=\"http://www.moflon.org.SDMLanguage.expressions\" xmlns:patternExpressions=\"http://www.moflon.org.SDMLanguage.patterns.patternExpressions\">\r\n  <ownedActivityNode xsi:type=\"activities:StoryNode\" name=\"prepare return value\" outgoing=\"//@ownedActivityEdge.4\" incoming=\"//@ownedActivityEdge.0\">\r\n    <storyPattern>\r\n      <objectVariable name=\"performOperation\" incomingLink=\"//@ownedActivityNode.0/@storyPattern/@linkVariable.1 //@ownedActivityNode.0/@storyPattern/@linkVariable.0\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"http://www.eclipse.org/emf/2002/Ecore#//EOperation\"/>\r\n        <constraint>\r\n          <constraintExpression xsi:type=\"expressions:ComparisonExpression\" operator=\"EQUAL\">\r\n            <rightExpression xsi:type=\"expressions:LiteralExpression\" value=\"&quot;isApplicable_BWD&quot;\"/>\r\n            <leftExpression xsi:type=\"patternExpressions:AttributeValueExpression\" object=\"//@ownedActivityNode.0/@storyPattern/@objectVariable.0\">\r\n              <attribute href=\"http://www.eclipse.org/emf/2002/Ecore#//ENamedElement/name\"/>\r\n            </leftExpression>\r\n          </constraintExpression>\r\n        </constraint>\r\n      </objectVariable>\r\n      <objectVariable name=\"this\" bindingState=\"BOUND\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"http://www.moflon.org.BlipTGG#//Rules/MApplicationToApplicationRule\"/>\r\n      </objectVariable>\r\n      <objectVariable name=\"ruleresult\" outgoingLink=\"//@ownedActivityNode.0/@storyPattern/@linkVariable.0\" bindingOperator=\"CREATE\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"http://www.moflon.org.TGGRuntime#//IsAppropriateRuleResult\"/>\r\n        <attributeAssignment>\r\n          <attribute href=\"http://www.moflon.org.TGGRuntime#//RuleResult/success\"/>\r\n          <valueExpression xsi:type=\"expressions:LiteralExpression\" value=\"false\"/>\r\n        </attributeAssignment>\r\n      </objectVariable>\r\n      <objectVariable name=\"eClass\" outgoingLink=\"//@ownedActivityNode.0/@storyPattern/@linkVariable.1\" bindingState=\"BOUND\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"http://www.eclipse.org/emf/2002/Ecore#//EClass\"/>\r\n        <bindingExpression xsi:type=\"expressions:LiteralExpression\" value=\"this.eClass()\"/>\r\n      </objectVariable>\r\n      <linkVariable name=\"performOperation\" target=\"//@ownedActivityNode.0/@storyPattern/@objectVariable.0\" source=\"//@ownedActivityNode.0/@storyPattern/@objectVariable.2\" bindingOperator=\"CREATE\"/>\r\n      <linkVariable name=\"eOperations\" target=\"//@ownedActivityNode.0/@storyPattern/@objectVariable.0\" source=\"//@ownedActivityNode.0/@storyPattern/@objectVariable.3\"/>\r\n    </storyPattern>\r\n  </ownedActivityNode>\r\n  <ownedActivityNode xsi:type=\"activities:StoryNode\" name=\"test core match\" outgoing=\"//@ownedActivityEdge.3 //@ownedActivityEdge.1\" incoming=\"//@ownedActivityEdge.4 //@ownedActivityEdge.5 //@ownedActivityEdge.7\" forEach=\"true\">\r\n    <storyPattern xsi:type=\"TGGLanguage:TGGRule\" name=\"MApplicationToApplicationRule\" cspSpec=\"&#xD;&#xA;&#x9;&#x9;eq(titleAttr.value, application.title)&#xD;&#xA;&#x9;&#x9;eq(packageNameAttr.value, application.packageName)&#xD;&#xA;&#x9;&#x9;eq(androidPlayLibraryPathAttr.value, application.androidPlayLibraryPath)&#xD;&#xA;&#x9;&#x9;eq(androidMapsApiKeyAttr.value, application.androidMapsApiKey)&#xD;&#xA;&#x9;\">\r\n      <objectVariable xsi:type=\"TGGLanguage:TGGObjectVariable\" name=\"application\" bindingState=\"BOUND\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"platform:/resource/BlipLanguage/model/BlipLanguage.ecore#//BlipApplication\"/>\r\n        <domain href=\"platform:/resource/BlipTGG/model/BlipTGG.tgg.xmi#//@domain.1\"/>\r\n      </objectVariable>\r\n      <objectVariable name=\"ruleresult\" bindingState=\"BOUND\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"http://www.moflon.org.TGGRuntime#//IsAppropriateRuleResult\"/>\r\n      </objectVariable>\r\n      <objectVariable name=\"match\" bindingOperator=\"CREATE\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"http://www.moflon.org.TGGRuntime#//Match\"/>\r\n      </objectVariable>\r\n      <correspondence href=\"platform:/resource/BlipTGG/model/BlipTGG.tgg.xmi#//@domain.2\"/>\r\n      <source href=\"platform:/resource/BlipTGG/model/BlipTGG.tgg.xmi#//@domain.0\"/>\r\n      <csp>\r\n        <constraints variables=\"//@ownedActivityNode.1/@storyPattern/@csp/@variables.0 //@ownedActivityNode.1/@storyPattern/@csp/@variables.1\" name=\"eq\">\r\n          <allowedAdornments value=\"BB\"/>\r\n          <allowedAdornments value=\"BF\"/>\r\n          <allowedAdornments value=\"FB\"/>\r\n        </constraints>\r\n        <constraints variables=\"//@ownedActivityNode.1/@storyPattern/@csp/@variables.2 //@ownedActivityNode.1/@storyPattern/@csp/@variables.3\" name=\"eq\">\r\n          <allowedAdornments value=\"BB\"/>\r\n          <allowedAdornments value=\"BF\"/>\r\n          <allowedAdornments value=\"FB\"/>\r\n        </constraints>\r\n        <constraints variables=\"//@ownedActivityNode.1/@storyPattern/@csp/@variables.4 //@ownedActivityNode.1/@storyPattern/@csp/@variables.5\" name=\"eq\">\r\n          <allowedAdornments value=\"BB\"/>\r\n          <allowedAdornments value=\"BF\"/>\r\n          <allowedAdornments value=\"FB\"/>\r\n        </constraints>\r\n        <constraints variables=\"//@ownedActivityNode.1/@storyPattern/@csp/@variables.6 //@ownedActivityNode.1/@storyPattern/@csp/@variables.7\" name=\"eq\">\r\n          <allowedAdornments value=\"BB\"/>\r\n          <allowedAdornments value=\"BF\"/>\r\n          <allowedAdornments value=\"FB\"/>\r\n        </constraints>\r\n        <variables xsi:type=\"csp:AttributeVariable\" type=\"String\" attribute=\"value\" objectVariable=\"titleAttr\"/>\r\n        <variables xsi:type=\"csp:AttributeVariable\" type=\"String\" attribute=\"title\" objectVariable=\"application\"/>\r\n        <variables xsi:type=\"csp:AttributeVariable\" type=\"String\" attribute=\"value\" objectVariable=\"packageNameAttr\"/>\r\n        <variables xsi:type=\"csp:AttributeVariable\" type=\"String\" attribute=\"packageName\" objectVariable=\"application\"/>\r\n        <variables xsi:type=\"csp:AttributeVariable\" type=\"String\" attribute=\"value\" objectVariable=\"androidPlayLibraryPathAttr\"/>\r\n        <variables xsi:type=\"csp:AttributeVariable\" type=\"String\" attribute=\"androidPlayLibraryPath\" objectVariable=\"application\"/>\r\n        <variables xsi:type=\"csp:AttributeVariable\" type=\"String\" attribute=\"value\" objectVariable=\"androidMapsApiKeyAttr\"/>\r\n        <variables xsi:type=\"csp:AttributeVariable\" type=\"String\" attribute=\"androidMapsApiKey\" objectVariable=\"application\"/>\r\n      </csp>\r\n      <target href=\"platform:/resource/BlipTGG/model/BlipTGG.tgg.xmi#//@domain.1\"/>\r\n    </storyPattern>\r\n  </ownedActivityNode>\r\n  <ownedActivityNode xsi:type=\"activities:StoryNode\" name=\"set success\" outgoing=\"//@ownedActivityEdge.2\" incoming=\"//@ownedActivityEdge.3\">\r\n    <storyPattern>\r\n      <objectVariable name=\"match\" incomingLink=\"//@ownedActivityNode.2/@storyPattern/@linkVariable.0\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"http://www.moflon.org.TGGRuntime#//Match\"/>\r\n      </objectVariable>\r\n      <objectVariable name=\"ruleresult\" outgoingLink=\"//@ownedActivityNode.2/@storyPattern/@linkVariable.0\" bindingState=\"BOUND\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"http://www.moflon.org.TGGRuntime#//IsAppropriateRuleResult\"/>\r\n        <attributeAssignment>\r\n          <attribute href=\"http://www.moflon.org.TGGRuntime#//RuleResult/success\"/>\r\n          <valueExpression xsi:type=\"expressions:LiteralExpression\" value=\"true\"/>\r\n        </attributeAssignment>\r\n      </objectVariable>\r\n      <linkVariable name=\"matches\" target=\"//@ownedActivityNode.2/@storyPattern/@objectVariable.0\" source=\"//@ownedActivityNode.2/@storyPattern/@objectVariable.1\"/>\r\n    </storyPattern>\r\n  </ownedActivityNode>\r\n  <ownedActivityNode xsi:type=\"activities:StopNode\" incoming=\"//@ownedActivityEdge.2\">\r\n    <returnValue xsi:type=\"patternExpressions:ObjectVariableExpression\" object=\"//@ownedActivityNode.0/@storyPattern/@objectVariable.2\"/>\r\n  </ownedActivityNode>\r\n  <ownedActivityNode xsi:type=\"activities:StartNode\" outgoing=\"//@ownedActivityEdge.0\"/>\r\n  <ownedActivityNode xsi:type=\"activities:StatementNode\" name=\"bookkeeping with generic isAppropriate method\" outgoing=\"//@ownedActivityEdge.5 //@ownedActivityEdge.6\" incoming=\"//@ownedActivityEdge.1\">\r\n    <statementExpression xsi:type=\"callExpressions:MethodCallExpression\">\r\n      <ownedParameterBindings>\r\n        <valueExpression xsi:type=\"expressions:TextualExpression\" expressionText=\"match\"/>\r\n        <parameter href=\"http://www.moflon.org.BlipTGG#//Rules/MApplicationToApplicationRule/isAppropriate_BWD/match\"/>\r\n      </ownedParameterBindings>\r\n      <ownedParameterBindings>\r\n        <valueExpression xsi:type=\"expressions:TextualExpression\" expressionText=\"application\"/>\r\n        <parameter href=\"http://www.moflon.org.BlipTGG#//Rules/MApplicationToApplicationRule/isAppropriate_BWD/application\"/>\r\n      </ownedParameterBindings>\r\n      <callee href=\"http://www.moflon.org.BlipTGG#//Rules/MApplicationToApplicationRule/isAppropriate_BWD\"/>\r\n      <target xsi:type=\"patternExpressions:ObjectVariableExpression\" object=\"//@ownedActivityNode.0/@storyPattern/@objectVariable.1\"/>\r\n    </statementExpression>\r\n  </ownedActivityNode>\r\n  <ownedActivityNode xsi:type=\"activities:StoryNode\" name=\"Add match to rule result\" outgoing=\"//@ownedActivityEdge.7\" incoming=\"//@ownedActivityEdge.6\">\r\n    <storyPattern>\r\n      <objectVariable name=\"match\" incomingLink=\"//@ownedActivityNode.6/@storyPattern/@linkVariable.0\" bindingState=\"BOUND\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"http://www.moflon.org.TGGRuntime#//Match\"/>\r\n      </objectVariable>\r\n      <objectVariable name=\"ruleresult\" outgoingLink=\"//@ownedActivityNode.6/@storyPattern/@linkVariable.0\" bindingState=\"BOUND\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"http://www.moflon.org.TGGRuntime#//IsAppropriateRuleResult\"/>\r\n      </objectVariable>\r\n      <linkVariable name=\"matches\" target=\"//@ownedActivityNode.6/@storyPattern/@objectVariable.0\" source=\"//@ownedActivityNode.6/@storyPattern/@objectVariable.1\" bindingOperator=\"CREATE\"/>\r\n    </storyPattern>\r\n  </ownedActivityNode>\r\n  <ownedActivityEdge source=\"//@ownedActivityNode.4\" target=\"//@ownedActivityNode.0\"/>\r\n  <ownedActivityEdge source=\"//@ownedActivityNode.1\" target=\"//@ownedActivityNode.5\" guard=\"EACH_TIME\"/>\r\n  <ownedActivityEdge source=\"//@ownedActivityNode.2\" target=\"//@ownedActivityNode.3\"/>\r\n  <ownedActivityEdge source=\"//@ownedActivityNode.1\" target=\"//@ownedActivityNode.2\" guard=\"END\"/>\r\n  <ownedActivityEdge source=\"//@ownedActivityNode.0\" target=\"//@ownedActivityNode.1\"/>\r\n  <ownedActivityEdge source=\"//@ownedActivityNode.5\" target=\"//@ownedActivityNode.1\" guard=\"FAILURE\"/>\r\n  <ownedActivityEdge source=\"//@ownedActivityNode.5\" target=\"//@ownedActivityNode.6\" guard=\"SUCCESS\"/>\r\n  <ownedActivityEdge source=\"//@ownedActivityNode.6\" target=\"//@ownedActivityNode.1\"/>\r\n</activities:Activity>\r\n" });
		addAnnotation(
				getMModelAttributeToModelAttributeRule__Perform_FWD__IsApplicableMatch(),
				source,
				new String[] {
						"XMI",
						"<?xml version=\"1.0\" encoding=\"UTF-8\"?>\r\n<activities:Activity xmi:version=\"2.0\" xmlns:xmi=\"http://www.omg.org/XMI\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:TGGLanguage=\"http://www.moflon.org.TGGLanguage\" xmlns:activities=\"http://www.moflon.org.SDMLanguage.activities\" xmlns:csp=\"http://www.moflon.org.TGGLanguage.csp\" xmlns:ecore=\"http://www.eclipse.org/emf/2002/Ecore\" xmlns:expressions=\"http://www.moflon.org.SDMLanguage.expressions\" xmlns:patternExpressions=\"http://www.moflon.org.SDMLanguage.patterns.patternExpressions\">\r\n  <ownedActivityNode xsi:type=\"activities:StoryNode\" name=\"collect translated elements\" outgoing=\"//@ownedActivityEdge.3\" incoming=\"//@ownedActivityEdge.1\">\r\n    <storyPattern>\r\n      <objectVariable name=\"ruleresult\" outgoingLink=\"//@ownedActivityNode.0/@storyPattern/@linkVariable.0 //@ownedActivityNode.0/@storyPattern/@linkVariable.1 //@ownedActivityNode.0/@storyPattern/@linkVariable.2 //@ownedActivityNode.0/@storyPattern/@linkVariable.3\" bindingOperator=\"CREATE\" bindingState=\"BOUND\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"http://www.moflon.org.TGGRuntime#//PerformRuleResult\"/>\r\n        <attributeAssignment>\r\n          <attribute href=\"http://www.moflon.org.TGGRuntime#//RuleResult/success\"/>\r\n          <valueExpression xsi:type=\"expressions:LiteralExpression\" value=\"true\"/>\r\n        </attributeAssignment>\r\n      </objectVariable>\r\n      <objectVariable name=\"modelAttributeNode\" incomingLink=\"//@ownedActivityNode.0/@storyPattern/@linkVariable.0\" bindingState=\"BOUND\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"platform:/plugin/org.moflon.moca.MocaTree/model/MocaTree.ecore#//Node\"/>\r\n      </objectVariable>\r\n      <objectVariable name=\"typeAttr\" incomingLink=\"//@ownedActivityNode.0/@storyPattern/@linkVariable.1\" bindingState=\"BOUND\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"platform:/plugin/org.moflon.moca.MocaTree/model/MocaTree.ecore#//Attribute\"/>\r\n      </objectVariable>\r\n      <objectVariable name=\"ma2bma\" incomingLink=\"//@ownedActivityNode.0/@storyPattern/@linkVariable.2\" bindingState=\"BOUND\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"http://www.moflon.org.BlipTGG#//MModelAttributeToModelAttribute\"/>\r\n      </objectVariable>\r\n      <objectVariable name=\"blipModelAttribute\" incomingLink=\"//@ownedActivityNode.0/@storyPattern/@linkVariable.3\" bindingState=\"BOUND\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"platform:/resource/BlipLanguage/model/BlipLanguage.ecore#//BlipModelAttribute\"/>\r\n      </objectVariable>\r\n      <linkVariable name=\"translatedElements\" target=\"//@ownedActivityNode.0/@storyPattern/@objectVariable.1\" source=\"//@ownedActivityNode.0/@storyPattern/@objectVariable.0\" bindingOperator=\"CREATE\"/>\r\n      <linkVariable name=\"translatedElements\" target=\"//@ownedActivityNode.0/@storyPattern/@objectVariable.2\" source=\"//@ownedActivityNode.0/@storyPattern/@objectVariable.0\" bindingOperator=\"CREATE\"/>\r\n      <linkVariable name=\"createdLinkElements\" target=\"//@ownedActivityNode.0/@storyPattern/@objectVariable.3\" source=\"//@ownedActivityNode.0/@storyPattern/@objectVariable.0\" bindingOperator=\"CREATE\"/>\r\n      <linkVariable name=\"createdElements\" target=\"//@ownedActivityNode.0/@storyPattern/@objectVariable.4\" source=\"//@ownedActivityNode.0/@storyPattern/@objectVariable.0\" bindingOperator=\"CREATE\"/>\r\n    </storyPattern>\r\n  </ownedActivityNode>\r\n  <ownedActivityNode xsi:type=\"activities:StoryNode\" name=\"perform transformation\" outgoing=\"//@ownedActivityEdge.1\" incoming=\"//@ownedActivityEdge.0\">\r\n    <storyPattern xsi:type=\"TGGLanguage:TGGRule\" name=\"MModelAttributeToModelAttributeRule\" cspSpec=\"&#xD;&#xA;&#x9;&#x9;eq(modelAttributeNode.name, blipModelAttribute.name)&#xD;&#xA;&#x9;&#x9;eq(typeAttr.value, blipModelAttribute.type)&#xD;&#xA;&#x9;\">\r\n      <objectVariable xsi:type=\"TGGLanguage:TGGObjectVariable\" name=\"modelNode\" bindingState=\"BOUND\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"platform:/plugin/org.moflon.moca.MocaTree/model/MocaTree.ecore#//Node\"/>\r\n        <bindingExpression xsi:type=\"expressions:LiteralExpression\" value=\"isApplicableMatch.getObject(&quot;modelNode&quot;)\"/>\r\n        <domain href=\"platform:/resource/BlipTGG/model/BlipTGG.tgg.xmi#//@domain.0\"/>\r\n      </objectVariable>\r\n      <objectVariable xsi:type=\"TGGLanguage:TGGObjectVariable\" name=\"modelAttributeNode\" incomingLink=\"//@ownedActivityNode.1/@storyPattern/@linkVariable.0\" bindingState=\"BOUND\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"platform:/plugin/org.moflon.moca.MocaTree/model/MocaTree.ecore#//Node\"/>\r\n        <bindingExpression xsi:type=\"expressions:LiteralExpression\" value=\"isApplicableMatch.getObject(&quot;modelAttributeNode&quot;)\"/>\r\n        <domain href=\"platform:/resource/BlipTGG/model/BlipTGG.tgg.xmi#//@domain.0\"/>\r\n      </objectVariable>\r\n      <objectVariable xsi:type=\"TGGLanguage:TGGObjectVariable\" name=\"typeAttr\" bindingState=\"BOUND\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"platform:/plugin/org.moflon.moca.MocaTree/model/MocaTree.ecore#//Attribute\"/>\r\n        <bindingExpression xsi:type=\"expressions:LiteralExpression\" value=\"isApplicableMatch.getObject(&quot;typeAttr&quot;)\"/>\r\n        <constraint>\r\n          <constraintExpression xsi:type=\"expressions:ComparisonExpression\" operator=\"EQUAL\">\r\n            <rightExpression xsi:type=\"expressions:LiteralExpression\" value=\"&quot;type&quot;\"/>\r\n            <leftExpression xsi:type=\"patternExpressions:AttributeValueExpression\">\r\n              <attribute href=\"platform:/plugin/org.moflon.moca.MocaTree/model/MocaTree.ecore#//TreeElement/name\"/>\r\n            </leftExpression>\r\n          </constraintExpression>\r\n        </constraint>\r\n        <domain href=\"platform:/resource/BlipTGG/model/BlipTGG.tgg.xmi#//@domain.0\"/>\r\n      </objectVariable>\r\n      <objectVariable xsi:type=\"TGGLanguage:TGGObjectVariable\" name=\"mModelToModel\" bindingState=\"BOUND\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"http://www.moflon.org.BlipTGG#//MModelToModel\"/>\r\n        <bindingExpression xsi:type=\"expressions:LiteralExpression\" value=\"isApplicableMatch.getObject(&quot;mModelToModel&quot;)\"/>\r\n        <domain href=\"platform:/resource/BlipTGG/model/BlipTGG.tgg.xmi#//@domain.2\"/>\r\n      </objectVariable>\r\n      <objectVariable xsi:type=\"TGGLanguage:TGGObjectVariable\" name=\"ma2bma\" outgoingLink=\"//@ownedActivityNode.1/@storyPattern/@linkVariable.0 //@ownedActivityNode.1/@storyPattern/@linkVariable.1\" bindingOperator=\"CREATE\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"http://www.moflon.org.BlipTGG#//MModelAttributeToModelAttribute\"/>\r\n        <domain href=\"platform:/resource/BlipTGG/model/BlipTGG.tgg.xmi#//@domain.2\"/>\r\n      </objectVariable>\r\n      <objectVariable xsi:type=\"TGGLanguage:TGGObjectVariable\" name=\"blipModel\" outgoingLink=\"//@ownedActivityNode.1/@storyPattern/@linkVariable.2\" bindingState=\"BOUND\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"platform:/resource/BlipLanguage/model/BlipLanguage.ecore#//BlipModel\"/>\r\n        <bindingExpression xsi:type=\"expressions:LiteralExpression\" value=\"isApplicableMatch.getObject(&quot;blipModel&quot;)\"/>\r\n        <domain href=\"platform:/resource/BlipTGG/model/BlipTGG.tgg.xmi#//@domain.1\"/>\r\n      </objectVariable>\r\n      <objectVariable xsi:type=\"TGGLanguage:TGGObjectVariable\" name=\"blipModelAttribute\" incomingLink=\"//@ownedActivityNode.1/@storyPattern/@linkVariable.1 //@ownedActivityNode.1/@storyPattern/@linkVariable.2\" bindingOperator=\"CREATE\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"platform:/resource/BlipLanguage/model/BlipLanguage.ecore#//BlipModelAttribute\"/>\r\n        <attributeAssignment>\r\n          <attribute href=\"platform:/resource/BlipLanguage/model/BlipLanguage.ecore#//BlipModelAttribute/name\"/>\r\n          <valueExpression xsi:type=\"expressions:LiteralExpression\" value=\"(java.lang.String)csp.getAttributeVariable(&quot;blipModelAttribute&quot;,&quot;name&quot;).getValue()\"/>\r\n        </attributeAssignment>\r\n        <attributeAssignment>\r\n          <attribute href=\"platform:/resource/BlipLanguage/model/BlipLanguage.ecore#//BlipModelAttribute/type\"/>\r\n          <valueExpression xsi:type=\"expressions:LiteralExpression\" value=\"(java.lang.String)csp.getAttributeVariable(&quot;blipModelAttribute&quot;,&quot;type&quot;).getValue()\"/>\r\n        </attributeAssignment>\r\n        <domain href=\"platform:/resource/BlipTGG/model/BlipTGG.tgg.xmi#//@domain.1\"/>\r\n      </objectVariable>\r\n      <objectVariable name=\"csp\" incomingLink=\"//@ownedActivityNode.1/@storyPattern/@linkVariable.3\" bindingSemantics=\"OPTIONAL\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"http://www.moflon.org.TGGLanguage#//csp/CSP\"/>\r\n      </objectVariable>\r\n      <objectVariable name=\"this\" bindingState=\"BOUND\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"http://www.moflon.org.BlipTGG#//Rules/MModelAttributeToModelAttributeRule\"/>\r\n        <bindingExpression xsi:type=\"expressions:LiteralExpression\" value=\"isApplicableMatch.getObject(&quot;this&quot;)\"/>\r\n      </objectVariable>\r\n      <objectVariable name=\"isApplicableMatch\" outgoingLink=\"//@ownedActivityNode.1/@storyPattern/@linkVariable.3\" bindingState=\"BOUND\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"http://www.moflon.org.TGGRuntime#//IsApplicableMatch\"/>\r\n      </objectVariable>\r\n      <linkVariable xsi:type=\"TGGLanguage:TGGLinkVariable\" name=\"source\" target=\"//@ownedActivityNode.1/@storyPattern/@objectVariable.1\" source=\"//@ownedActivityNode.1/@storyPattern/@objectVariable.4\" bindingOperator=\"CREATE\">\r\n        <domain href=\"platform:/resource/BlipTGG/model/BlipTGG.tgg.xmi#//@domain.2\"/>\r\n      </linkVariable>\r\n      <linkVariable xsi:type=\"TGGLanguage:TGGLinkVariable\" name=\"target\" target=\"//@ownedActivityNode.1/@storyPattern/@objectVariable.6\" source=\"//@ownedActivityNode.1/@storyPattern/@objectVariable.4\" bindingOperator=\"CREATE\">\r\n        <domain href=\"platform:/resource/BlipTGG/model/BlipTGG.tgg.xmi#//@domain.2\"/>\r\n      </linkVariable>\r\n      <linkVariable xsi:type=\"TGGLanguage:TGGLinkVariable\" name=\"attributes\" target=\"//@ownedActivityNode.1/@storyPattern/@objectVariable.6\" source=\"//@ownedActivityNode.1/@storyPattern/@objectVariable.5\" bindingOperator=\"CREATE\">\r\n        <domain href=\"platform:/resource/BlipTGG/model/BlipTGG.tgg.xmi#//@domain.1\"/>\r\n      </linkVariable>\r\n      <linkVariable name=\"attributeInfo\" target=\"//@ownedActivityNode.1/@storyPattern/@objectVariable.7\" source=\"//@ownedActivityNode.1/@storyPattern/@objectVariable.9\"/>\r\n      <correspondence href=\"platform:/resource/BlipTGG/model/BlipTGG.tgg.xmi#//@domain.2\"/>\r\n      <source href=\"platform:/resource/BlipTGG/model/BlipTGG.tgg.xmi#//@domain.0\"/>\r\n      <csp>\r\n        <constraints variables=\"//@ownedActivityNode.1/@storyPattern/@csp/@variables.0 //@ownedActivityNode.1/@storyPattern/@csp/@variables.1\" name=\"eq\">\r\n          <allowedAdornments value=\"BB\"/>\r\n          <allowedAdornments value=\"BF\"/>\r\n          <allowedAdornments value=\"FB\"/>\r\n        </constraints>\r\n        <constraints variables=\"//@ownedActivityNode.1/@storyPattern/@csp/@variables.2 //@ownedActivityNode.1/@storyPattern/@csp/@variables.3\" name=\"eq\">\r\n          <allowedAdornments value=\"BB\"/>\r\n          <allowedAdornments value=\"BF\"/>\r\n          <allowedAdornments value=\"FB\"/>\r\n        </constraints>\r\n        <variables xsi:type=\"csp:AttributeVariable\" bound=\"true\" value=\"ACED000574001C6D6F64656C4174747269627574654E6F64652E6765744E616D652829\" type=\"String\" attribute=\"name\" objectVariable=\"modelAttributeNode\"/>\r\n        <variables xsi:type=\"csp:AttributeVariable\" type=\"String\" attribute=\"name\" objectVariable=\"blipModelAttribute\"/>\r\n        <variables xsi:type=\"csp:AttributeVariable\" bound=\"true\" value=\"ACED000574001374797065417474722E67657456616C75652829\" type=\"String\" attribute=\"value\" objectVariable=\"typeAttr\"/>\r\n        <variables xsi:type=\"csp:AttributeVariable\" type=\"String\" attribute=\"type\" objectVariable=\"blipModelAttribute\"/>\r\n        <forward variables=\"//@ownedActivityNode.1/@storyPattern/@csp/@variables.0 //@ownedActivityNode.1/@storyPattern/@csp/@variables.1 //@ownedActivityNode.1/@storyPattern/@csp/@variables.2 //@ownedActivityNode.1/@storyPattern/@csp/@variables.3\" constraints=\"//@ownedActivityNode.1/@storyPattern/@csp/@constraints.0 //@ownedActivityNode.1/@storyPattern/@csp/@constraints.1\"/>\r\n        <simultaneous variables=\"//@ownedActivityNode.1/@storyPattern/@csp/@variables.0 //@ownedActivityNode.1/@storyPattern/@csp/@variables.1 //@ownedActivityNode.1/@storyPattern/@csp/@variables.2 //@ownedActivityNode.1/@storyPattern/@csp/@variables.3\" constraints=\"//@ownedActivityNode.1/@storyPattern/@csp/@constraints.0 //@ownedActivityNode.1/@storyPattern/@csp/@constraints.1\"/>\r\n        <backward variables=\"//@ownedActivityNode.1/@storyPattern/@csp/@variables.0 //@ownedActivityNode.1/@storyPattern/@csp/@variables.1 //@ownedActivityNode.1/@storyPattern/@csp/@variables.2 //@ownedActivityNode.1/@storyPattern/@csp/@variables.3\" constraints=\"//@ownedActivityNode.1/@storyPattern/@csp/@constraints.0 //@ownedActivityNode.1/@storyPattern/@csp/@constraints.1\"/>\r\n        <source/>\r\n        <target/>\r\n      </csp>\r\n      <target href=\"platform:/resource/BlipTGG/model/BlipTGG.tgg.xmi#//@domain.1\"/>\r\n    </storyPattern>\r\n  </ownedActivityNode>\r\n  <ownedActivityNode xsi:type=\"activities:StopNode\" incoming=\"//@ownedActivityEdge.2\">\r\n    <returnValue xsi:type=\"patternExpressions:ObjectVariableExpression\" object=\"//@ownedActivityNode.0/@storyPattern/@objectVariable.0\"/>\r\n  </ownedActivityNode>\r\n  <ownedActivityNode xsi:type=\"activities:StartNode\" outgoing=\"//@ownedActivityEdge.0\"/>\r\n  <ownedActivityNode xsi:type=\"activities:StatementNode\" name=\"perform postprocessing\" outgoing=\"//@ownedActivityEdge.2\" incoming=\"//@ownedActivityEdge.4\">\r\n    <statementExpression xsi:type=\"expressions:LiteralExpression\" value=\"// No post processing method found\"/>\r\n  </ownedActivityNode>\r\n  <ownedActivityNode xsi:type=\"activities:StoryNode\" name=\"bookkeeping for edges\" outgoing=\"//@ownedActivityEdge.4\" incoming=\"//@ownedActivityEdge.3\">\r\n    <storyPattern>\r\n      <objectVariable name=\"ruleresult\" outgoingLink=\"//@ownedActivityNode.5/@storyPattern/@linkVariable.0 //@ownedActivityNode.5/@storyPattern/@linkVariable.3 //@ownedActivityNode.5/@storyPattern/@linkVariable.7 //@ownedActivityNode.5/@storyPattern/@linkVariable.10 //@ownedActivityNode.5/@storyPattern/@linkVariable.13\" bindingState=\"BOUND\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"http://www.moflon.org.TGGRuntime#//PerformRuleResult\"/>\r\n      </objectVariable>\r\n      <objectVariable name=\"modelNode\" incomingLink=\"//@ownedActivityNode.5/@storyPattern/@linkVariable.1\" bindingState=\"BOUND\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"http://www.eclipse.org/emf/2002/Ecore#//EObject\"/>\r\n      </objectVariable>\r\n      <objectVariable name=\"modelAttributeNode\" incomingLink=\"//@ownedActivityNode.5/@storyPattern/@linkVariable.2 //@ownedActivityNode.5/@storyPattern/@linkVariable.5 //@ownedActivityNode.5/@storyPattern/@linkVariable.6\" bindingState=\"BOUND\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"http://www.eclipse.org/emf/2002/Ecore#//EObject\"/>\r\n      </objectVariable>\r\n      <objectVariable name=\"typeAttr\" incomingLink=\"//@ownedActivityNode.5/@storyPattern/@linkVariable.4\" bindingState=\"BOUND\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"http://www.eclipse.org/emf/2002/Ecore#//EObject\"/>\r\n      </objectVariable>\r\n      <objectVariable name=\"mModelToModel\" bindingState=\"BOUND\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"http://www.eclipse.org/emf/2002/Ecore#//EObject\"/>\r\n      </objectVariable>\r\n      <objectVariable name=\"ma2bma\" incomingLink=\"//@ownedActivityNode.5/@storyPattern/@linkVariable.8 //@ownedActivityNode.5/@storyPattern/@linkVariable.11\" bindingState=\"BOUND\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"http://www.eclipse.org/emf/2002/Ecore#//EObject\"/>\r\n      </objectVariable>\r\n      <objectVariable name=\"blipModel\" incomingLink=\"//@ownedActivityNode.5/@storyPattern/@linkVariable.14\" bindingState=\"BOUND\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"http://www.eclipse.org/emf/2002/Ecore#//EObject\"/>\r\n      </objectVariable>\r\n      <objectVariable name=\"blipModelAttribute\" incomingLink=\"//@ownedActivityNode.5/@storyPattern/@linkVariable.9 //@ownedActivityNode.5/@storyPattern/@linkVariable.12\" bindingState=\"BOUND\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"http://www.eclipse.org/emf/2002/Ecore#//EObject\"/>\r\n      </objectVariable>\r\n      <objectVariable name=\"modelAttributeNode__parentNode__modelNode\" incomingLink=\"//@ownedActivityNode.5/@storyPattern/@linkVariable.0\" outgoingLink=\"//@ownedActivityNode.5/@storyPattern/@linkVariable.2 //@ownedActivityNode.5/@storyPattern/@linkVariable.1\" bindingOperator=\"CREATE\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"http://www.moflon.org.TGGRuntime#//Edge\"/>\r\n        <attributeAssignment>\r\n          <attribute href=\"http://www.moflon.org.TGGRuntime#//Edge/name\"/>\r\n          <valueExpression xsi:type=\"expressions:LiteralExpression\" value=\"&quot;parentNode&quot;\"/>\r\n        </attributeAssignment>\r\n      </objectVariable>\r\n      <objectVariable name=\"modelAttributeNode__attribute__typeAttr\" incomingLink=\"//@ownedActivityNode.5/@storyPattern/@linkVariable.3\" outgoingLink=\"//@ownedActivityNode.5/@storyPattern/@linkVariable.5 //@ownedActivityNode.5/@storyPattern/@linkVariable.4\" bindingOperator=\"CREATE\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"http://www.moflon.org.TGGRuntime#//Edge\"/>\r\n        <attributeAssignment>\r\n          <attribute href=\"http://www.moflon.org.TGGRuntime#//Edge/name\"/>\r\n          <valueExpression xsi:type=\"expressions:LiteralExpression\" value=\"&quot;attribute&quot;\"/>\r\n        </attributeAssignment>\r\n      </objectVariable>\r\n      <objectVariable name=\"ma2bma__source__modelAttributeNode\" incomingLink=\"//@ownedActivityNode.5/@storyPattern/@linkVariable.7\" outgoingLink=\"//@ownedActivityNode.5/@storyPattern/@linkVariable.6 //@ownedActivityNode.5/@storyPattern/@linkVariable.8\" bindingOperator=\"CREATE\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"http://www.moflon.org.TGGRuntime#//Edge\"/>\r\n        <attributeAssignment>\r\n          <attribute href=\"http://www.moflon.org.TGGRuntime#//Edge/name\"/>\r\n          <valueExpression xsi:type=\"expressions:LiteralExpression\" value=\"&quot;source&quot;\"/>\r\n        </attributeAssignment>\r\n      </objectVariable>\r\n      <objectVariable name=\"ma2bma__target__blipModelAttribute\" incomingLink=\"//@ownedActivityNode.5/@storyPattern/@linkVariable.10\" outgoingLink=\"//@ownedActivityNode.5/@storyPattern/@linkVariable.9 //@ownedActivityNode.5/@storyPattern/@linkVariable.11\" bindingOperator=\"CREATE\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"http://www.moflon.org.TGGRuntime#//Edge\"/>\r\n        <attributeAssignment>\r\n          <attribute href=\"http://www.moflon.org.TGGRuntime#//Edge/name\"/>\r\n          <valueExpression xsi:type=\"expressions:LiteralExpression\" value=\"&quot;target&quot;\"/>\r\n        </attributeAssignment>\r\n      </objectVariable>\r\n      <objectVariable name=\"blipModel__attributes__blipModelAttribute\" incomingLink=\"//@ownedActivityNode.5/@storyPattern/@linkVariable.13\" outgoingLink=\"//@ownedActivityNode.5/@storyPattern/@linkVariable.12 //@ownedActivityNode.5/@storyPattern/@linkVariable.14\" bindingOperator=\"CREATE\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"http://www.moflon.org.TGGRuntime#//Edge\"/>\r\n        <attributeAssignment>\r\n          <attribute href=\"http://www.moflon.org.TGGRuntime#//Edge/name\"/>\r\n          <valueExpression xsi:type=\"expressions:LiteralExpression\" value=\"&quot;attributes&quot;\"/>\r\n        </attributeAssignment>\r\n      </objectVariable>\r\n      <linkVariable name=\"translatedEdges\" target=\"//@ownedActivityNode.5/@storyPattern/@objectVariable.8\" source=\"//@ownedActivityNode.5/@storyPattern/@objectVariable.0\" bindingOperator=\"CREATE\"/>\r\n      <linkVariable name=\"trg\" target=\"//@ownedActivityNode.5/@storyPattern/@objectVariable.1\" source=\"//@ownedActivityNode.5/@storyPattern/@objectVariable.8\" bindingOperator=\"CREATE\"/>\r\n      <linkVariable name=\"src\" target=\"//@ownedActivityNode.5/@storyPattern/@objectVariable.2\" source=\"//@ownedActivityNode.5/@storyPattern/@objectVariable.8\" bindingOperator=\"CREATE\"/>\r\n      <linkVariable name=\"translatedEdges\" target=\"//@ownedActivityNode.5/@storyPattern/@objectVariable.9\" source=\"//@ownedActivityNode.5/@storyPattern/@objectVariable.0\" bindingOperator=\"CREATE\"/>\r\n      <linkVariable name=\"trg\" target=\"//@ownedActivityNode.5/@storyPattern/@objectVariable.3\" source=\"//@ownedActivityNode.5/@storyPattern/@objectVariable.9\" bindingOperator=\"CREATE\"/>\r\n      <linkVariable name=\"src\" target=\"//@ownedActivityNode.5/@storyPattern/@objectVariable.2\" source=\"//@ownedActivityNode.5/@storyPattern/@objectVariable.9\" bindingOperator=\"CREATE\"/>\r\n      <linkVariable name=\"trg\" target=\"//@ownedActivityNode.5/@storyPattern/@objectVariable.2\" source=\"//@ownedActivityNode.5/@storyPattern/@objectVariable.10\" bindingOperator=\"CREATE\"/>\r\n      <linkVariable name=\"createdEdges\" target=\"//@ownedActivityNode.5/@storyPattern/@objectVariable.10\" source=\"//@ownedActivityNode.5/@storyPattern/@objectVariable.0\" bindingOperator=\"CREATE\"/>\r\n      <linkVariable name=\"src\" target=\"//@ownedActivityNode.5/@storyPattern/@objectVariable.5\" source=\"//@ownedActivityNode.5/@storyPattern/@objectVariable.10\" bindingOperator=\"CREATE\"/>\r\n      <linkVariable name=\"trg\" target=\"//@ownedActivityNode.5/@storyPattern/@objectVariable.7\" source=\"//@ownedActivityNode.5/@storyPattern/@objectVariable.11\" bindingOperator=\"CREATE\"/>\r\n      <linkVariable name=\"createdEdges\" target=\"//@ownedActivityNode.5/@storyPattern/@objectVariable.11\" source=\"//@ownedActivityNode.5/@storyPattern/@objectVariable.0\" bindingOperator=\"CREATE\"/>\r\n      <linkVariable name=\"src\" target=\"//@ownedActivityNode.5/@storyPattern/@objectVariable.5\" source=\"//@ownedActivityNode.5/@storyPattern/@objectVariable.11\" bindingOperator=\"CREATE\"/>\r\n      <linkVariable name=\"trg\" target=\"//@ownedActivityNode.5/@storyPattern/@objectVariable.7\" source=\"//@ownedActivityNode.5/@storyPattern/@objectVariable.12\" bindingOperator=\"CREATE\"/>\r\n      <linkVariable name=\"createdEdges\" target=\"//@ownedActivityNode.5/@storyPattern/@objectVariable.12\" source=\"//@ownedActivityNode.5/@storyPattern/@objectVariable.0\" bindingOperator=\"CREATE\"/>\r\n      <linkVariable name=\"src\" target=\"//@ownedActivityNode.5/@storyPattern/@objectVariable.6\" source=\"//@ownedActivityNode.5/@storyPattern/@objectVariable.12\" bindingOperator=\"CREATE\"/>\r\n    </storyPattern>\r\n  </ownedActivityNode>\r\n  <ownedActivityEdge source=\"//@ownedActivityNode.3\" target=\"//@ownedActivityNode.1\"/>\r\n  <ownedActivityEdge source=\"//@ownedActivityNode.1\" target=\"//@ownedActivityNode.0\"/>\r\n  <ownedActivityEdge source=\"//@ownedActivityNode.4\" target=\"//@ownedActivityNode.2\"/>\r\n  <ownedActivityEdge source=\"//@ownedActivityNode.0\" target=\"//@ownedActivityNode.5\"/>\r\n  <ownedActivityEdge source=\"//@ownedActivityNode.5\" target=\"//@ownedActivityNode.4\"/>\r\n</activities:Activity>\r\n" });
		addAnnotation(
				getMModelAttributeToModelAttributeRule__IsAppropriate_FWD__Match_Node_Node_Attribute(),
				source,
				new String[] {
						"XMI",
						"<?xml version=\"1.0\" encoding=\"UTF-8\"?>\r\n<activities:Activity xmi:version=\"2.0\" xmlns:xmi=\"http://www.omg.org/XMI\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:activities=\"http://www.moflon.org.SDMLanguage.activities\" xmlns:ecore=\"http://www.eclipse.org/emf/2002/Ecore\" xmlns:expressions=\"http://www.moflon.org.SDMLanguage.expressions\">\r\n  <ownedActivityNode xsi:type=\"activities:StatementNode\" name=\"Check CSP\" outgoing=\"//@ownedActivityEdge.3 //@ownedActivityEdge.5\" incoming=\"//@ownedActivityEdge.1\">\r\n    <statementExpression xsi:type=\"expressions:LiteralExpression\" value=\"csp.check();\"/>\r\n  </ownedActivityNode>\r\n  <ownedActivityNode xsi:type=\"activities:StatementNode\" name=\"Solve CSP\" outgoing=\"//@ownedActivityEdge.1\" incoming=\"//@ownedActivityEdge.2\">\r\n    <statementExpression xsi:type=\"expressions:LiteralExpression\" value=\"// Create CSP&#xD;&#xA;CSP csp = CspFactory.eINSTANCE.createCSP();&#xD;&#xA;&#xD;&#xA;// Create literals&#xD;&#xA;&#xD;&#xA;// Create attribute variables&#xD;&#xA;&#xD;&#xA;// Create explicit parameters&#xD;&#xA;&#xD;&#xA;// Create unbound variables&#xD;&#xA;&#xD;&#xA;// Create constraints&#xD;&#xA;&#xD;&#xA;&#xD;&#xA;&#xD;&#xA;&#xD;&#xA;// Solve CSP&#xD;&#xA;\"/>\r\n  </ownedActivityNode>\r\n  <ownedActivityNode xsi:type=\"activities:StopNode\" incoming=\"//@ownedActivityEdge.3\">\r\n    <returnValue xsi:type=\"expressions:LiteralExpression\" value=\"false\"/>\r\n  </ownedActivityNode>\r\n  <ownedActivityNode xsi:type=\"activities:StoryNode\" name=\"collect elements to be translated\" outgoing=\"//@ownedActivityEdge.0\" incoming=\"//@ownedActivityEdge.5\">\r\n    <storyPattern>\r\n      <objectVariable name=\"match\" outgoingLink=\"//@ownedActivityNode.3/@storyPattern/@linkVariable.0 //@ownedActivityNode.3/@storyPattern/@linkVariable.1 //@ownedActivityNode.3/@storyPattern/@linkVariable.2 //@ownedActivityNode.3/@storyPattern/@linkVariable.5\" bindingState=\"BOUND\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"http://www.moflon.org.TGGRuntime#//Match\"/>\r\n      </objectVariable>\r\n      <objectVariable name=\"modelAttributeNode\" incomingLink=\"//@ownedActivityNode.3/@storyPattern/@linkVariable.0 //@ownedActivityNode.3/@storyPattern/@linkVariable.3 //@ownedActivityNode.3/@storyPattern/@linkVariable.6\" bindingState=\"BOUND\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"platform:/plugin/org.moflon.moca.MocaTree/model/MocaTree.ecore#//Node\"/>\r\n      </objectVariable>\r\n      <objectVariable name=\"typeAttr\" incomingLink=\"//@ownedActivityNode.3/@storyPattern/@linkVariable.1 //@ownedActivityNode.3/@storyPattern/@linkVariable.7\" bindingState=\"BOUND\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"platform:/plugin/org.moflon.moca.MocaTree/model/MocaTree.ecore#//Attribute\"/>\r\n      </objectVariable>\r\n      <objectVariable name=\"modelAttributeNode__parentNode__modelNode\" incomingLink=\"//@ownedActivityNode.3/@storyPattern/@linkVariable.2\" outgoingLink=\"//@ownedActivityNode.3/@storyPattern/@linkVariable.3 //@ownedActivityNode.3/@storyPattern/@linkVariable.4\" bindingOperator=\"CREATE\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"http://www.moflon.org.TGGRuntime#//Edge\"/>\r\n        <attributeAssignment>\r\n          <attribute href=\"http://www.moflon.org.TGGRuntime#//Edge/name\"/>\r\n          <valueExpression xsi:type=\"expressions:LiteralExpression\" value=\"&quot;parentNode&quot;\"/>\r\n        </attributeAssignment>\r\n      </objectVariable>\r\n      <objectVariable name=\"modelNode\" incomingLink=\"//@ownedActivityNode.3/@storyPattern/@linkVariable.4\" bindingState=\"BOUND\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"platform:/plugin/org.moflon.moca.MocaTree/model/MocaTree.ecore#//Node\"/>\r\n      </objectVariable>\r\n      <objectVariable name=\"modelAttributeNode__attribute__typeAttr\" incomingLink=\"//@ownedActivityNode.3/@storyPattern/@linkVariable.5\" outgoingLink=\"//@ownedActivityNode.3/@storyPattern/@linkVariable.6 //@ownedActivityNode.3/@storyPattern/@linkVariable.7\" bindingOperator=\"CREATE\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"http://www.moflon.org.TGGRuntime#//Edge\"/>\r\n        <attributeAssignment>\r\n          <attribute href=\"http://www.moflon.org.TGGRuntime#//Edge/name\"/>\r\n          <valueExpression xsi:type=\"expressions:LiteralExpression\" value=\"&quot;attribute&quot;\"/>\r\n        </attributeAssignment>\r\n      </objectVariable>\r\n      <linkVariable name=\"toBeTranslatedElements\" target=\"//@ownedActivityNode.3/@storyPattern/@objectVariable.1\" source=\"//@ownedActivityNode.3/@storyPattern/@objectVariable.0\" bindingOperator=\"CREATE\"/>\r\n      <linkVariable name=\"toBeTranslatedElements\" target=\"//@ownedActivityNode.3/@storyPattern/@objectVariable.2\" source=\"//@ownedActivityNode.3/@storyPattern/@objectVariable.0\" bindingOperator=\"CREATE\"/>\r\n      <linkVariable name=\"toBeTranslatedEdges\" target=\"//@ownedActivityNode.3/@storyPattern/@objectVariable.3\" source=\"//@ownedActivityNode.3/@storyPattern/@objectVariable.0\" bindingOperator=\"CREATE\"/>\r\n      <linkVariable name=\"src\" target=\"//@ownedActivityNode.3/@storyPattern/@objectVariable.1\" source=\"//@ownedActivityNode.3/@storyPattern/@objectVariable.3\" bindingOperator=\"CREATE\"/>\r\n      <linkVariable name=\"trg\" target=\"//@ownedActivityNode.3/@storyPattern/@objectVariable.4\" source=\"//@ownedActivityNode.3/@storyPattern/@objectVariable.3\" bindingOperator=\"CREATE\"/>\r\n      <linkVariable name=\"toBeTranslatedEdges\" target=\"//@ownedActivityNode.3/@storyPattern/@objectVariable.5\" source=\"//@ownedActivityNode.3/@storyPattern/@objectVariable.0\" bindingOperator=\"CREATE\"/>\r\n      <linkVariable name=\"src\" target=\"//@ownedActivityNode.3/@storyPattern/@objectVariable.1\" source=\"//@ownedActivityNode.3/@storyPattern/@objectVariable.5\" bindingOperator=\"CREATE\"/>\r\n      <linkVariable name=\"trg\" target=\"//@ownedActivityNode.3/@storyPattern/@objectVariable.2\" source=\"//@ownedActivityNode.3/@storyPattern/@objectVariable.5\" bindingOperator=\"CREATE\"/>\r\n    </storyPattern>\r\n  </ownedActivityNode>\r\n  <ownedActivityNode xsi:type=\"activities:StartNode\" outgoing=\"//@ownedActivityEdge.2\"/>\r\n  <ownedActivityNode xsi:type=\"activities:StoryNode\" name=\"collect context elements\" outgoing=\"//@ownedActivityEdge.4\" incoming=\"//@ownedActivityEdge.0\">\r\n    <storyPattern>\r\n      <objectVariable name=\"match\" outgoingLink=\"//@ownedActivityNode.5/@storyPattern/@linkVariable.0\" bindingState=\"BOUND\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"http://www.moflon.org.TGGRuntime#//Match\"/>\r\n      </objectVariable>\r\n      <objectVariable name=\"modelNode\" incomingLink=\"//@ownedActivityNode.5/@storyPattern/@linkVariable.0\" bindingState=\"BOUND\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"platform:/plugin/org.moflon.moca.MocaTree/model/MocaTree.ecore#//Node\"/>\r\n      </objectVariable>\r\n      <linkVariable name=\"contextNodes\" target=\"//@ownedActivityNode.5/@storyPattern/@objectVariable.1\" source=\"//@ownedActivityNode.5/@storyPattern/@objectVariable.0\" bindingOperator=\"CREATE\"/>\r\n    </storyPattern>\r\n  </ownedActivityNode>\r\n  <ownedActivityNode xsi:type=\"activities:StopNode\" incoming=\"//@ownedActivityEdge.6\">\r\n    <returnValue xsi:type=\"expressions:LiteralExpression\" value=\"true\"/>\r\n  </ownedActivityNode>\r\n  <ownedActivityNode xsi:type=\"activities:StatementNode\" name=\"register objects to match\" outgoing=\"//@ownedActivityEdge.6\" incoming=\"//@ownedActivityEdge.4\">\r\n    <statementExpression xsi:type=\"expressions:LiteralExpression\" value=\"match.registerObject(&quot;modelNode&quot;, modelNode);&#xA;match.registerObject(&quot;modelAttributeNode&quot;, modelAttributeNode);&#xA;match.registerObject(&quot;typeAttr&quot;, typeAttr);&#xA;\"/>\r\n  </ownedActivityNode>\r\n  <ownedActivityEdge source=\"//@ownedActivityNode.3\" target=\"//@ownedActivityNode.5\"/>\r\n  <ownedActivityEdge source=\"//@ownedActivityNode.1\" target=\"//@ownedActivityNode.0\"/>\r\n  <ownedActivityEdge source=\"//@ownedActivityNode.4\" target=\"//@ownedActivityNode.1\"/>\r\n  <ownedActivityEdge source=\"//@ownedActivityNode.0\" target=\"//@ownedActivityNode.2\" guard=\"FAILURE\"/>\r\n  <ownedActivityEdge source=\"//@ownedActivityNode.5\" target=\"//@ownedActivityNode.7\"/>\r\n  <ownedActivityEdge source=\"//@ownedActivityNode.0\" target=\"//@ownedActivityNode.3\" guard=\"SUCCESS\"/>\r\n  <ownedActivityEdge source=\"//@ownedActivityNode.7\" target=\"//@ownedActivityNode.6\"/>\r\n</activities:Activity>\r\n" });
		addAnnotation(
				getMModelAttributeToModelAttributeRule__IsApplicable_FWD__Match(),
				source,
				new String[] {
						"XMI",
						"<?xml version=\"1.0\" encoding=\"UTF-8\"?>\r\n<activities:Activity xmi:version=\"2.0\" xmlns:xmi=\"http://www.omg.org/XMI\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:TGGLanguage=\"http://www.moflon.org.TGGLanguage\" xmlns:activities=\"http://www.moflon.org.SDMLanguage.activities\" xmlns:csp=\"http://www.moflon.org.TGGLanguage.csp\" xmlns:ecore=\"http://www.eclipse.org/emf/2002/Ecore\" xmlns:expressions=\"http://www.moflon.org.SDMLanguage.expressions\" xmlns:patternExpressions=\"http://www.moflon.org.SDMLanguage.patterns.patternExpressions\">\r\n  <ownedActivityNode xsi:type=\"activities:StoryNode\" name=\"core match\" outgoing=\"//@ownedActivityEdge.8\" incoming=\"//@ownedActivityEdge.2\">\r\n    <storyPattern xsi:type=\"TGGLanguage:TGGRule\" name=\"MModelAttributeToModelAttributeRule\" cspSpec=\"&#xD;&#xA;&#x9;&#x9;eq(modelAttributeNode.name, blipModelAttribute.name)&#xD;&#xA;&#x9;&#x9;eq(typeAttr.value, blipModelAttribute.type)&#xD;&#xA;&#x9;\">\r\n      <objectVariable xsi:type=\"TGGLanguage:TGGObjectVariable\" name=\"modelNode\" bindingState=\"BOUND\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"platform:/plugin/org.moflon.moca.MocaTree/model/MocaTree.ecore#//Node\"/>\r\n        <bindingExpression xsi:type=\"expressions:LiteralExpression\" value=\"match.getObject(&quot;modelNode&quot;)\"/>\r\n        <domain href=\"platform:/resource/BlipTGG/model/BlipTGG.tgg.xmi#//@domain.0\"/>\r\n      </objectVariable>\r\n      <objectVariable xsi:type=\"TGGLanguage:TGGObjectVariable\" name=\"modelAttributeNode\" bindingState=\"BOUND\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"platform:/plugin/org.moflon.moca.MocaTree/model/MocaTree.ecore#//Node\"/>\r\n        <bindingExpression xsi:type=\"expressions:LiteralExpression\" value=\"match.getObject(&quot;modelAttributeNode&quot;)\"/>\r\n        <domain href=\"platform:/resource/BlipTGG/model/BlipTGG.tgg.xmi#//@domain.0\"/>\r\n      </objectVariable>\r\n      <objectVariable xsi:type=\"TGGLanguage:TGGObjectVariable\" name=\"typeAttr\" bindingState=\"BOUND\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"platform:/plugin/org.moflon.moca.MocaTree/model/MocaTree.ecore#//Attribute\"/>\r\n        <bindingExpression xsi:type=\"expressions:LiteralExpression\" value=\"match.getObject(&quot;typeAttr&quot;)\"/>\r\n        <constraint>\r\n          <constraintExpression xsi:type=\"expressions:ComparisonExpression\" operator=\"EQUAL\">\r\n            <rightExpression xsi:type=\"expressions:LiteralExpression\" value=\"&quot;type&quot;\"/>\r\n            <leftExpression xsi:type=\"patternExpressions:AttributeValueExpression\">\r\n              <attribute href=\"platform:/plugin/org.moflon.moca.MocaTree/model/MocaTree.ecore#//TreeElement/name\"/>\r\n            </leftExpression>\r\n          </constraintExpression>\r\n        </constraint>\r\n        <domain href=\"platform:/resource/BlipTGG/model/BlipTGG.tgg.xmi#//@domain.0\"/>\r\n      </objectVariable>\r\n      <objectVariable name=\"match\" bindingState=\"BOUND\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"http://www.moflon.org.TGGRuntime#//Match\"/>\r\n      </objectVariable>\r\n      <correspondence href=\"platform:/resource/BlipTGG/model/BlipTGG.tgg.xmi#//@domain.2\"/>\r\n      <source href=\"platform:/resource/BlipTGG/model/BlipTGG.tgg.xmi#//@domain.0\"/>\r\n      <csp>\r\n        <constraints variables=\"//@ownedActivityNode.0/@storyPattern/@csp/@variables.0 //@ownedActivityNode.0/@storyPattern/@csp/@variables.1\" name=\"eq\">\r\n          <allowedAdornments value=\"BB\"/>\r\n          <allowedAdornments value=\"BF\"/>\r\n          <allowedAdornments value=\"FB\"/>\r\n        </constraints>\r\n        <constraints variables=\"//@ownedActivityNode.0/@storyPattern/@csp/@variables.2 //@ownedActivityNode.0/@storyPattern/@csp/@variables.3\" name=\"eq\">\r\n          <allowedAdornments value=\"BB\"/>\r\n          <allowedAdornments value=\"BF\"/>\r\n          <allowedAdornments value=\"FB\"/>\r\n        </constraints>\r\n        <variables xsi:type=\"csp:AttributeVariable\" type=\"String\" attribute=\"name\" objectVariable=\"modelAttributeNode\"/>\r\n        <variables xsi:type=\"csp:AttributeVariable\" type=\"String\" attribute=\"name\" objectVariable=\"blipModelAttribute\"/>\r\n        <variables xsi:type=\"csp:AttributeVariable\" type=\"String\" attribute=\"value\" objectVariable=\"typeAttr\"/>\r\n        <variables xsi:type=\"csp:AttributeVariable\" type=\"String\" attribute=\"type\" objectVariable=\"blipModelAttribute\"/>\r\n      </csp>\r\n      <target href=\"platform:/resource/BlipTGG/model/BlipTGG.tgg.xmi#//@domain.1\"/>\r\n    </storyPattern>\r\n  </ownedActivityNode>\r\n  <ownedActivityNode xsi:type=\"activities:StoryNode\" name=\"prepare return value\" outgoing=\"//@ownedActivityEdge.2\" incoming=\"//@ownedActivityEdge.4\">\r\n    <storyPattern>\r\n      <objectVariable name=\"ruleresult\" outgoingLink=\"//@ownedActivityNode.1/@storyPattern/@linkVariable.1\" bindingOperator=\"CREATE\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"http://www.moflon.org.TGGRuntime#//IsApplicableRuleResult\"/>\r\n        <attributeAssignment>\r\n          <attribute href=\"http://www.moflon.org.TGGRuntime#//RuleResult/success\"/>\r\n          <valueExpression xsi:type=\"expressions:LiteralExpression\" value=\"false\"/>\r\n        </attributeAssignment>\r\n        <attributeAssignment>\r\n          <attribute href=\"http://www.moflon.org.TGGRuntime#//RuleResult/rule\"/>\r\n          <valueExpression xsi:type=\"expressions:LiteralExpression\" value=\"&quot;MModelAttributeToModelAttributeRule&quot;\"/>\r\n        </attributeAssignment>\r\n      </objectVariable>\r\n      <objectVariable name=\"performOperation\" incomingLink=\"//@ownedActivityNode.1/@storyPattern/@linkVariable.0 //@ownedActivityNode.1/@storyPattern/@linkVariable.1\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"http://www.eclipse.org/emf/2002/Ecore#//EOperation\"/>\r\n        <constraint>\r\n          <constraintExpression xsi:type=\"expressions:ComparisonExpression\" operator=\"EQUAL\">\r\n            <rightExpression xsi:type=\"expressions:LiteralExpression\" value=\"&quot;perform_FWD&quot;\"/>\r\n            <leftExpression xsi:type=\"patternExpressions:AttributeValueExpression\" object=\"//@ownedActivityNode.1/@storyPattern/@objectVariable.1\">\r\n              <attribute href=\"http://www.eclipse.org/emf/2002/Ecore#//ENamedElement/name\"/>\r\n            </leftExpression>\r\n          </constraintExpression>\r\n        </constraint>\r\n      </objectVariable>\r\n      <objectVariable name=\"eClass\" outgoingLink=\"//@ownedActivityNode.1/@storyPattern/@linkVariable.0\" bindingState=\"BOUND\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"http://www.eclipse.org/emf/2002/Ecore#//EClass\"/>\r\n        <bindingExpression xsi:type=\"expressions:LiteralExpression\" value=\"this.eClass()\"/>\r\n      </objectVariable>\r\n      <linkVariable name=\"eOperations\" target=\"//@ownedActivityNode.1/@storyPattern/@objectVariable.1\" source=\"//@ownedActivityNode.1/@storyPattern/@objectVariable.2\"/>\r\n      <linkVariable name=\"performOperation\" target=\"//@ownedActivityNode.1/@storyPattern/@objectVariable.1\" source=\"//@ownedActivityNode.1/@storyPattern/@objectVariable.0\" bindingOperator=\"CREATE\"/>\r\n    </storyPattern>\r\n  </ownedActivityNode>\r\n  <ownedActivityNode xsi:type=\"activities:StopNode\" incoming=\"//@ownedActivityEdge.5\">\r\n    <returnValue xsi:type=\"patternExpressions:ObjectVariableExpression\" object=\"//@ownedActivityNode.1/@storyPattern/@objectVariable.0\"/>\r\n  </ownedActivityNode>\r\n  <ownedActivityNode xsi:type=\"activities:StoryNode\" name=\"find context\" outgoing=\"//@ownedActivityEdge.5 //@ownedActivityEdge.7\" incoming=\"//@ownedActivityEdge.0 //@ownedActivityEdge.3 //@ownedActivityEdge.8\" forEach=\"true\">\r\n    <storyPattern xsi:type=\"TGGLanguage:TGGRule\" name=\"MModelAttributeToModelAttributeRule\" cspSpec=\"&#xD;&#xA;&#x9;&#x9;eq(modelAttributeNode.name, blipModelAttribute.name)&#xD;&#xA;&#x9;&#x9;eq(typeAttr.value, blipModelAttribute.type)&#xD;&#xA;&#x9;\">\r\n      <objectVariable xsi:type=\"TGGLanguage:TGGObjectVariable\" name=\"modelNode\" incomingLink=\"//@ownedActivityNode.3/@storyPattern/@linkVariable.0 //@ownedActivityNode.3/@storyPattern/@linkVariable.2\" bindingState=\"BOUND\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"platform:/plugin/org.moflon.moca.MocaTree/model/MocaTree.ecore#//Node\"/>\r\n        <domain href=\"platform:/resource/BlipTGG/model/BlipTGG.tgg.xmi#//@domain.0\"/>\r\n      </objectVariable>\r\n      <objectVariable xsi:type=\"TGGLanguage:TGGObjectVariable\" name=\"modelAttributeNode\" outgoingLink=\"//@ownedActivityNode.3/@storyPattern/@linkVariable.0 //@ownedActivityNode.3/@storyPattern/@linkVariable.1\" bindingState=\"BOUND\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"platform:/plugin/org.moflon.moca.MocaTree/model/MocaTree.ecore#//Node\"/>\r\n        <domain href=\"platform:/resource/BlipTGG/model/BlipTGG.tgg.xmi#//@domain.0\"/>\r\n      </objectVariable>\r\n      <objectVariable xsi:type=\"TGGLanguage:TGGObjectVariable\" name=\"typeAttr\" incomingLink=\"//@ownedActivityNode.3/@storyPattern/@linkVariable.1\" bindingState=\"BOUND\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"platform:/plugin/org.moflon.moca.MocaTree/model/MocaTree.ecore#//Attribute\"/>\r\n        <constraint>\r\n          <constraintExpression xsi:type=\"expressions:ComparisonExpression\" operator=\"EQUAL\">\r\n            <rightExpression xsi:type=\"expressions:LiteralExpression\" value=\"&quot;type&quot;\"/>\r\n            <leftExpression xsi:type=\"patternExpressions:AttributeValueExpression\">\r\n              <attribute href=\"platform:/plugin/org.moflon.moca.MocaTree/model/MocaTree.ecore#//TreeElement/name\"/>\r\n            </leftExpression>\r\n          </constraintExpression>\r\n        </constraint>\r\n        <domain href=\"platform:/resource/BlipTGG/model/BlipTGG.tgg.xmi#//@domain.0\"/>\r\n      </objectVariable>\r\n      <objectVariable xsi:type=\"TGGLanguage:TGGObjectVariable\" name=\"mModelToModel\" outgoingLink=\"//@ownedActivityNode.3/@storyPattern/@linkVariable.2 //@ownedActivityNode.3/@storyPattern/@linkVariable.3\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"http://www.moflon.org.BlipTGG#//MModelToModel\"/>\r\n        <domain href=\"platform:/resource/BlipTGG/model/BlipTGG.tgg.xmi#//@domain.2\"/>\r\n      </objectVariable>\r\n      <objectVariable xsi:type=\"TGGLanguage:TGGObjectVariable\" name=\"blipModel\" incomingLink=\"//@ownedActivityNode.3/@storyPattern/@linkVariable.3\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"platform:/resource/BlipLanguage/model/BlipLanguage.ecore#//BlipModel\"/>\r\n        <domain href=\"platform:/resource/BlipTGG/model/BlipTGG.tgg.xmi#//@domain.1\"/>\r\n      </objectVariable>\r\n      <objectVariable name=\"isApplicableMatch\" bindingOperator=\"CREATE\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"http://www.moflon.org.TGGRuntime#//IsApplicableMatch\"/>\r\n      </objectVariable>\r\n      <linkVariable xsi:type=\"TGGLanguage:TGGLinkVariable\" name=\"parentNode\" target=\"//@ownedActivityNode.3/@storyPattern/@objectVariable.0\" source=\"//@ownedActivityNode.3/@storyPattern/@objectVariable.1\">\r\n        <domain href=\"platform:/resource/BlipTGG/model/BlipTGG.tgg.xmi#//@domain.0\"/>\r\n      </linkVariable>\r\n      <linkVariable xsi:type=\"TGGLanguage:TGGLinkVariable\" name=\"attribute\" target=\"//@ownedActivityNode.3/@storyPattern/@objectVariable.2\" source=\"//@ownedActivityNode.3/@storyPattern/@objectVariable.1\">\r\n        <domain href=\"platform:/resource/BlipTGG/model/BlipTGG.tgg.xmi#//@domain.0\"/>\r\n      </linkVariable>\r\n      <linkVariable xsi:type=\"TGGLanguage:TGGLinkVariable\" name=\"source\" target=\"//@ownedActivityNode.3/@storyPattern/@objectVariable.0\" source=\"//@ownedActivityNode.3/@storyPattern/@objectVariable.3\">\r\n        <domain href=\"platform:/resource/BlipTGG/model/BlipTGG.tgg.xmi#//@domain.2\"/>\r\n      </linkVariable>\r\n      <linkVariable xsi:type=\"TGGLanguage:TGGLinkVariable\" name=\"target\" target=\"//@ownedActivityNode.3/@storyPattern/@objectVariable.4\" source=\"//@ownedActivityNode.3/@storyPattern/@objectVariable.3\">\r\n        <domain href=\"platform:/resource/BlipTGG/model/BlipTGG.tgg.xmi#//@domain.2\"/>\r\n      </linkVariable>\r\n      <correspondence href=\"platform:/resource/BlipTGG/model/BlipTGG.tgg.xmi#//@domain.2\"/>\r\n      <source href=\"platform:/resource/BlipTGG/model/BlipTGG.tgg.xmi#//@domain.0\"/>\r\n      <csp>\r\n        <constraints variables=\"//@ownedActivityNode.3/@storyPattern/@csp/@variables.0 //@ownedActivityNode.3/@storyPattern/@csp/@variables.1\" name=\"eq\">\r\n          <allowedAdornments value=\"BB\"/>\r\n          <allowedAdornments value=\"BF\"/>\r\n          <allowedAdornments value=\"FB\"/>\r\n        </constraints>\r\n        <constraints variables=\"//@ownedActivityNode.3/@storyPattern/@csp/@variables.2 //@ownedActivityNode.3/@storyPattern/@csp/@variables.3\" name=\"eq\">\r\n          <allowedAdornments value=\"BB\"/>\r\n          <allowedAdornments value=\"BF\"/>\r\n          <allowedAdornments value=\"FB\"/>\r\n        </constraints>\r\n        <variables xsi:type=\"csp:AttributeVariable\" type=\"String\" attribute=\"name\" objectVariable=\"modelAttributeNode\"/>\r\n        <variables xsi:type=\"csp:AttributeVariable\" type=\"String\" attribute=\"name\" objectVariable=\"blipModelAttribute\"/>\r\n        <variables xsi:type=\"csp:AttributeVariable\" type=\"String\" attribute=\"value\" objectVariable=\"typeAttr\"/>\r\n        <variables xsi:type=\"csp:AttributeVariable\" type=\"String\" attribute=\"type\" objectVariable=\"blipModelAttribute\"/>\r\n      </csp>\r\n      <target href=\"platform:/resource/BlipTGG/model/BlipTGG.tgg.xmi#//@domain.1\"/>\r\n    </storyPattern>\r\n  </ownedActivityNode>\r\n  <ownedActivityNode xsi:type=\"activities:StoryNode\" name=\"add match to rule result\" outgoing=\"//@ownedActivityEdge.3\" incoming=\"//@ownedActivityEdge.6\">\r\n    <storyPattern>\r\n      <objectVariable name=\"isApplicableMatch\" incomingLink=\"//@ownedActivityNode.4/@storyPattern/@linkVariable.0\" bindingState=\"BOUND\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"http://www.moflon.org.TGGRuntime#//IsApplicableMatch\"/>\r\n      </objectVariable>\r\n      <objectVariable name=\"ruleresult\" outgoingLink=\"//@ownedActivityNode.4/@storyPattern/@linkVariable.0\" bindingState=\"BOUND\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"http://www.moflon.org.TGGRuntime#//IsApplicableRuleResult\"/>\r\n        <attributeAssignment>\r\n          <attribute href=\"http://www.moflon.org.TGGRuntime#//RuleResult/success\"/>\r\n          <valueExpression xsi:type=\"expressions:LiteralExpression\" value=\"true\"/>\r\n        </attributeAssignment>\r\n      </objectVariable>\r\n      <linkVariable name=\"isApplicableMatch\" target=\"//@ownedActivityNode.4/@storyPattern/@objectVariable.0\" source=\"//@ownedActivityNode.4/@storyPattern/@objectVariable.1\" bindingOperator=\"CREATE\"/>\r\n    </storyPattern>\r\n  </ownedActivityNode>\r\n  <ownedActivityNode xsi:type=\"activities:StatementNode\" name=\"check CSP\" outgoing=\"//@ownedActivityEdge.0 //@ownedActivityEdge.6\" incoming=\"//@ownedActivityEdge.1\">\r\n    <statementExpression xsi:type=\"expressions:LiteralExpression\" value=\"csp.check();\"/>\r\n  </ownedActivityNode>\r\n  <ownedActivityNode xsi:type=\"activities:StatementNode\" name=\"solve CSP\" outgoing=\"//@ownedActivityEdge.1\" incoming=\"//@ownedActivityEdge.7\">\r\n    <statementExpression xsi:type=\"expressions:LiteralExpression\" value=\"// Create CSP&#xD;&#xA;CSP csp = CspFactory.eINSTANCE.createCSP();&#xD;&#xA;isApplicableMatch.getAttributeInfo().add(csp);&#xD;&#xA;&#xD;&#xA;// Create literals&#xD;&#xA;&#xD;&#xA;// Create attribute variables&#xD;&#xA;Variable&lt;String> var_modelAttributeNode_name = CspFactory.eINSTANCE.createVariable(&quot;modelAttributeNode.name&quot;, true, csp);&#xD;&#xA;var_modelAttributeNode_name.setValue(modelAttributeNode.getName());&#xD;&#xA;Variable&lt;String> var_typeAttr_value = CspFactory.eINSTANCE.createVariable(&quot;typeAttr.value&quot;, true, csp);&#xD;&#xA;var_typeAttr_value.setValue(typeAttr.getValue());&#xD;&#xA;&#xD;&#xA;// Create explicit parameters&#xD;&#xA;&#xD;&#xA;// Create unbound variables&#xD;&#xA;Variable&lt;String> var_blipModelAttribute_name = CspFactory.eINSTANCE.createVariable(&quot;blipModelAttribute.name&quot;, csp);&#xD;&#xA;Variable&lt;String> var_blipModelAttribute_type = CspFactory.eINSTANCE.createVariable(&quot;blipModelAttribute.type&quot;, csp);&#xD;&#xA;&#xD;&#xA;// Create constraints&#xD;&#xA;Eq&lt;String> eq = new Eq&lt;String>();Eq&lt;String> eq_0 = new Eq&lt;String>();&#xD;&#xA;&#xD;&#xA;csp.getConstraints().add(eq);&#xD;&#xA;csp.getConstraints().add(eq_0);&#xD;&#xA;&#xD;&#xA;// Solve CSP&#xD;&#xA;eq.setRuleName(&quot;&quot;);&#xD;&#xA;eq.solve(var_modelAttributeNode_name,var_blipModelAttribute_name);&#xD;&#xA;eq_0.setRuleName(&quot;&quot;);&#xD;&#xA;eq_0.solve(var_typeAttr_value,var_blipModelAttribute_type);&#xD;&#xA;&#xD;&#xA;// Snapshot pattern match on which CSP is solved&#xD;&#xA;isApplicableMatch.registerObject(&quot;modelNode&quot;,modelNode);&#xD;&#xA;isApplicableMatch.registerObject(&quot;modelAttributeNode&quot;,modelAttributeNode);&#xD;&#xA;isApplicableMatch.registerObject(&quot;typeAttr&quot;,typeAttr);&#xD;&#xA;isApplicableMatch.registerObject(&quot;mModelToModel&quot;,mModelToModel);&#xD;&#xA;isApplicableMatch.registerObject(&quot;blipModel&quot;,blipModel);&#xD;&#xA;\"/>\r\n  </ownedActivityNode>\r\n  <ownedActivityNode xsi:type=\"activities:StartNode\" outgoing=\"//@ownedActivityEdge.4\"/>\r\n  <ownedActivityEdge source=\"//@ownedActivityNode.5\" target=\"//@ownedActivityNode.3\" guard=\"FAILURE\"/>\r\n  <ownedActivityEdge source=\"//@ownedActivityNode.6\" target=\"//@ownedActivityNode.5\"/>\r\n  <ownedActivityEdge source=\"//@ownedActivityNode.1\" target=\"//@ownedActivityNode.0\"/>\r\n  <ownedActivityEdge source=\"//@ownedActivityNode.4\" target=\"//@ownedActivityNode.3\"/>\r\n  <ownedActivityEdge source=\"//@ownedActivityNode.7\" target=\"//@ownedActivityNode.1\"/>\r\n  <ownedActivityEdge source=\"//@ownedActivityNode.3\" target=\"//@ownedActivityNode.2\" guard=\"END\"/>\r\n  <ownedActivityEdge source=\"//@ownedActivityNode.5\" target=\"//@ownedActivityNode.4\" guard=\"SUCCESS\"/>\r\n  <ownedActivityEdge source=\"//@ownedActivityNode.3\" target=\"//@ownedActivityNode.6\" guard=\"EACH_TIME\"/>\r\n  <ownedActivityEdge source=\"//@ownedActivityNode.0\" target=\"//@ownedActivityNode.3\"/>\r\n</activities:Activity>\r\n" });
		addAnnotation(
				getMModelAttributeToModelAttributeRule__Perform_BWD__IsApplicableMatch(),
				source,
				new String[] {
						"XMI",
						"<?xml version=\"1.0\" encoding=\"UTF-8\"?>\r\n<activities:Activity xmi:version=\"2.0\" xmlns:xmi=\"http://www.omg.org/XMI\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:TGGLanguage=\"http://www.moflon.org.TGGLanguage\" xmlns:activities=\"http://www.moflon.org.SDMLanguage.activities\" xmlns:csp=\"http://www.moflon.org.TGGLanguage.csp\" xmlns:ecore=\"http://www.eclipse.org/emf/2002/Ecore\" xmlns:expressions=\"http://www.moflon.org.SDMLanguage.expressions\" xmlns:patternExpressions=\"http://www.moflon.org.SDMLanguage.patterns.patternExpressions\">\r\n  <ownedActivityNode xsi:type=\"activities:StoryNode\" name=\"collect translated elements\" outgoing=\"//@ownedActivityEdge.3\" incoming=\"//@ownedActivityEdge.1\">\r\n    <storyPattern>\r\n      <objectVariable name=\"ruleresult\" outgoingLink=\"//@ownedActivityNode.0/@storyPattern/@linkVariable.0 //@ownedActivityNode.0/@storyPattern/@linkVariable.1 //@ownedActivityNode.0/@storyPattern/@linkVariable.2 //@ownedActivityNode.0/@storyPattern/@linkVariable.3\" bindingOperator=\"CREATE\" bindingState=\"BOUND\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"http://www.moflon.org.TGGRuntime#//PerformRuleResult\"/>\r\n        <attributeAssignment>\r\n          <attribute href=\"http://www.moflon.org.TGGRuntime#//RuleResult/success\"/>\r\n          <valueExpression xsi:type=\"expressions:LiteralExpression\" value=\"true\"/>\r\n        </attributeAssignment>\r\n      </objectVariable>\r\n      <objectVariable name=\"modelAttributeNode\" incomingLink=\"//@ownedActivityNode.0/@storyPattern/@linkVariable.0\" bindingState=\"BOUND\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"platform:/plugin/org.moflon.moca.MocaTree/model/MocaTree.ecore#//Node\"/>\r\n      </objectVariable>\r\n      <objectVariable name=\"typeAttr\" incomingLink=\"//@ownedActivityNode.0/@storyPattern/@linkVariable.1\" bindingState=\"BOUND\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"platform:/plugin/org.moflon.moca.MocaTree/model/MocaTree.ecore#//Attribute\"/>\r\n      </objectVariable>\r\n      <objectVariable name=\"ma2bma\" incomingLink=\"//@ownedActivityNode.0/@storyPattern/@linkVariable.2\" bindingState=\"BOUND\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"http://www.moflon.org.BlipTGG#//MModelAttributeToModelAttribute\"/>\r\n      </objectVariable>\r\n      <objectVariable name=\"blipModelAttribute\" incomingLink=\"//@ownedActivityNode.0/@storyPattern/@linkVariable.3\" bindingState=\"BOUND\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"platform:/resource/BlipLanguage/model/BlipLanguage.ecore#//BlipModelAttribute\"/>\r\n      </objectVariable>\r\n      <linkVariable name=\"createdElements\" target=\"//@ownedActivityNode.0/@storyPattern/@objectVariable.1\" source=\"//@ownedActivityNode.0/@storyPattern/@objectVariable.0\" bindingOperator=\"CREATE\"/>\r\n      <linkVariable name=\"createdElements\" target=\"//@ownedActivityNode.0/@storyPattern/@objectVariable.2\" source=\"//@ownedActivityNode.0/@storyPattern/@objectVariable.0\" bindingOperator=\"CREATE\"/>\r\n      <linkVariable name=\"createdLinkElements\" target=\"//@ownedActivityNode.0/@storyPattern/@objectVariable.3\" source=\"//@ownedActivityNode.0/@storyPattern/@objectVariable.0\" bindingOperator=\"CREATE\"/>\r\n      <linkVariable name=\"translatedElements\" target=\"//@ownedActivityNode.0/@storyPattern/@objectVariable.4\" source=\"//@ownedActivityNode.0/@storyPattern/@objectVariable.0\" bindingOperator=\"CREATE\"/>\r\n    </storyPattern>\r\n  </ownedActivityNode>\r\n  <ownedActivityNode xsi:type=\"activities:StoryNode\" name=\"perform transformation\" outgoing=\"//@ownedActivityEdge.1\" incoming=\"//@ownedActivityEdge.0\">\r\n    <storyPattern xsi:type=\"TGGLanguage:TGGRule\" name=\"MModelAttributeToModelAttributeRule\" cspSpec=\"&#xD;&#xA;&#x9;&#x9;eq(modelAttributeNode.name, blipModelAttribute.name)&#xD;&#xA;&#x9;&#x9;eq(typeAttr.value, blipModelAttribute.type)&#xD;&#xA;&#x9;\">\r\n      <objectVariable xsi:type=\"TGGLanguage:TGGObjectVariable\" name=\"modelNode\" incomingLink=\"//@ownedActivityNode.1/@storyPattern/@linkVariable.0\" bindingState=\"BOUND\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"platform:/plugin/org.moflon.moca.MocaTree/model/MocaTree.ecore#//Node\"/>\r\n        <bindingExpression xsi:type=\"expressions:LiteralExpression\" value=\"isApplicableMatch.getObject(&quot;modelNode&quot;)\"/>\r\n        <domain href=\"platform:/resource/BlipTGG/model/BlipTGG.tgg.xmi#//@domain.0\"/>\r\n      </objectVariable>\r\n      <objectVariable xsi:type=\"TGGLanguage:TGGObjectVariable\" name=\"modelAttributeNode\" incomingLink=\"//@ownedActivityNode.1/@storyPattern/@linkVariable.2\" outgoingLink=\"//@ownedActivityNode.1/@storyPattern/@linkVariable.0 //@ownedActivityNode.1/@storyPattern/@linkVariable.1\" bindingOperator=\"CREATE\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"platform:/plugin/org.moflon.moca.MocaTree/model/MocaTree.ecore#//Node\"/>\r\n        <attributeAssignment>\r\n          <attribute href=\"platform:/plugin/org.moflon.moca.MocaTree/model/MocaTree.ecore#//TreeElement/name\"/>\r\n          <valueExpression xsi:type=\"expressions:LiteralExpression\" value=\"(java.lang.String)csp.getAttributeVariable(&quot;modelAttributeNode&quot;,&quot;name&quot;).getValue()\"/>\r\n        </attributeAssignment>\r\n        <domain href=\"platform:/resource/BlipTGG/model/BlipTGG.tgg.xmi#//@domain.0\"/>\r\n      </objectVariable>\r\n      <objectVariable xsi:type=\"TGGLanguage:TGGObjectVariable\" name=\"typeAttr\" incomingLink=\"//@ownedActivityNode.1/@storyPattern/@linkVariable.1\" bindingOperator=\"CREATE\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"platform:/plugin/org.moflon.moca.MocaTree/model/MocaTree.ecore#//Attribute\"/>\r\n        <attributeAssignment>\r\n          <attribute href=\"platform:/plugin/org.moflon.moca.MocaTree/model/MocaTree.ecore#//TreeElement/name\"/>\r\n          <valueExpression xsi:type=\"expressions:LiteralExpression\" value=\"&quot;type&quot;\"/>\r\n        </attributeAssignment>\r\n        <attributeAssignment>\r\n          <attribute href=\"platform:/plugin/org.moflon.moca.MocaTree/model/MocaTree.ecore#//Attribute/value\"/>\r\n          <valueExpression xsi:type=\"expressions:LiteralExpression\" value=\"(java.lang.String)csp.getAttributeVariable(&quot;typeAttr&quot;,&quot;value&quot;).getValue()\"/>\r\n        </attributeAssignment>\r\n        <domain href=\"platform:/resource/BlipTGG/model/BlipTGG.tgg.xmi#//@domain.0\"/>\r\n      </objectVariable>\r\n      <objectVariable xsi:type=\"TGGLanguage:TGGObjectVariable\" name=\"mModelToModel\" bindingState=\"BOUND\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"http://www.moflon.org.BlipTGG#//MModelToModel\"/>\r\n        <bindingExpression xsi:type=\"expressions:LiteralExpression\" value=\"isApplicableMatch.getObject(&quot;mModelToModel&quot;)\"/>\r\n        <domain href=\"platform:/resource/BlipTGG/model/BlipTGG.tgg.xmi#//@domain.2\"/>\r\n      </objectVariable>\r\n      <objectVariable xsi:type=\"TGGLanguage:TGGObjectVariable\" name=\"ma2bma\" outgoingLink=\"//@ownedActivityNode.1/@storyPattern/@linkVariable.2 //@ownedActivityNode.1/@storyPattern/@linkVariable.3\" bindingOperator=\"CREATE\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"http://www.moflon.org.BlipTGG#//MModelAttributeToModelAttribute\"/>\r\n        <domain href=\"platform:/resource/BlipTGG/model/BlipTGG.tgg.xmi#//@domain.2\"/>\r\n      </objectVariable>\r\n      <objectVariable xsi:type=\"TGGLanguage:TGGObjectVariable\" name=\"blipModel\" bindingState=\"BOUND\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"platform:/resource/BlipLanguage/model/BlipLanguage.ecore#//BlipModel\"/>\r\n        <bindingExpression xsi:type=\"expressions:LiteralExpression\" value=\"isApplicableMatch.getObject(&quot;blipModel&quot;)\"/>\r\n        <domain href=\"platform:/resource/BlipTGG/model/BlipTGG.tgg.xmi#//@domain.1\"/>\r\n      </objectVariable>\r\n      <objectVariable xsi:type=\"TGGLanguage:TGGObjectVariable\" name=\"blipModelAttribute\" incomingLink=\"//@ownedActivityNode.1/@storyPattern/@linkVariable.3\" bindingState=\"BOUND\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"platform:/resource/BlipLanguage/model/BlipLanguage.ecore#//BlipModelAttribute\"/>\r\n        <bindingExpression xsi:type=\"expressions:LiteralExpression\" value=\"isApplicableMatch.getObject(&quot;blipModelAttribute&quot;)\"/>\r\n        <domain href=\"platform:/resource/BlipTGG/model/BlipTGG.tgg.xmi#//@domain.1\"/>\r\n      </objectVariable>\r\n      <objectVariable name=\"csp\" incomingLink=\"//@ownedActivityNode.1/@storyPattern/@linkVariable.4\" bindingSemantics=\"OPTIONAL\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"http://www.moflon.org.TGGLanguage#//csp/CSP\"/>\r\n      </objectVariable>\r\n      <objectVariable name=\"this\" bindingState=\"BOUND\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"http://www.moflon.org.BlipTGG#//Rules/MModelAttributeToModelAttributeRule\"/>\r\n        <bindingExpression xsi:type=\"expressions:LiteralExpression\" value=\"isApplicableMatch.getObject(&quot;this&quot;)\"/>\r\n      </objectVariable>\r\n      <objectVariable name=\"isApplicableMatch\" outgoingLink=\"//@ownedActivityNode.1/@storyPattern/@linkVariable.4\" bindingState=\"BOUND\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"http://www.moflon.org.TGGRuntime#//IsApplicableMatch\"/>\r\n      </objectVariable>\r\n      <linkVariable xsi:type=\"TGGLanguage:TGGLinkVariable\" name=\"parentNode\" target=\"//@ownedActivityNode.1/@storyPattern/@objectVariable.0\" source=\"//@ownedActivityNode.1/@storyPattern/@objectVariable.1\" bindingOperator=\"CREATE\">\r\n        <domain href=\"platform:/resource/BlipTGG/model/BlipTGG.tgg.xmi#//@domain.0\"/>\r\n      </linkVariable>\r\n      <linkVariable xsi:type=\"TGGLanguage:TGGLinkVariable\" name=\"attribute\" target=\"//@ownedActivityNode.1/@storyPattern/@objectVariable.2\" source=\"//@ownedActivityNode.1/@storyPattern/@objectVariable.1\" bindingOperator=\"CREATE\">\r\n        <domain href=\"platform:/resource/BlipTGG/model/BlipTGG.tgg.xmi#//@domain.0\"/>\r\n      </linkVariable>\r\n      <linkVariable xsi:type=\"TGGLanguage:TGGLinkVariable\" name=\"source\" target=\"//@ownedActivityNode.1/@storyPattern/@objectVariable.1\" source=\"//@ownedActivityNode.1/@storyPattern/@objectVariable.4\" bindingOperator=\"CREATE\">\r\n        <domain href=\"platform:/resource/BlipTGG/model/BlipTGG.tgg.xmi#//@domain.2\"/>\r\n      </linkVariable>\r\n      <linkVariable xsi:type=\"TGGLanguage:TGGLinkVariable\" name=\"target\" target=\"//@ownedActivityNode.1/@storyPattern/@objectVariable.6\" source=\"//@ownedActivityNode.1/@storyPattern/@objectVariable.4\" bindingOperator=\"CREATE\">\r\n        <domain href=\"platform:/resource/BlipTGG/model/BlipTGG.tgg.xmi#//@domain.2\"/>\r\n      </linkVariable>\r\n      <linkVariable name=\"attributeInfo\" target=\"//@ownedActivityNode.1/@storyPattern/@objectVariable.7\" source=\"//@ownedActivityNode.1/@storyPattern/@objectVariable.9\"/>\r\n      <correspondence href=\"platform:/resource/BlipTGG/model/BlipTGG.tgg.xmi#//@domain.2\"/>\r\n      <source href=\"platform:/resource/BlipTGG/model/BlipTGG.tgg.xmi#//@domain.0\"/>\r\n      <csp>\r\n        <constraints variables=\"//@ownedActivityNode.1/@storyPattern/@csp/@variables.0 //@ownedActivityNode.1/@storyPattern/@csp/@variables.1\" name=\"eq\">\r\n          <allowedAdornments value=\"BB\"/>\r\n          <allowedAdornments value=\"BF\"/>\r\n          <allowedAdornments value=\"FB\"/>\r\n        </constraints>\r\n        <constraints variables=\"//@ownedActivityNode.1/@storyPattern/@csp/@variables.2 //@ownedActivityNode.1/@storyPattern/@csp/@variables.3\" name=\"eq\">\r\n          <allowedAdornments value=\"BB\"/>\r\n          <allowedAdornments value=\"BF\"/>\r\n          <allowedAdornments value=\"FB\"/>\r\n        </constraints>\r\n        <variables xsi:type=\"csp:AttributeVariable\" type=\"String\" attribute=\"name\" objectVariable=\"modelAttributeNode\"/>\r\n        <variables xsi:type=\"csp:AttributeVariable\" bound=\"true\" value=\"ACED000574001C626C69704D6F64656C4174747269627574652E6765744E616D652829\" type=\"String\" attribute=\"name\" objectVariable=\"blipModelAttribute\"/>\r\n        <variables xsi:type=\"csp:AttributeVariable\" type=\"String\" attribute=\"value\" objectVariable=\"typeAttr\"/>\r\n        <variables xsi:type=\"csp:AttributeVariable\" bound=\"true\" value=\"ACED000574001C626C69704D6F64656C4174747269627574652E676574547970652829\" type=\"String\" attribute=\"type\" objectVariable=\"blipModelAttribute\"/>\r\n        <forward variables=\"//@ownedActivityNode.1/@storyPattern/@csp/@variables.0 //@ownedActivityNode.1/@storyPattern/@csp/@variables.1 //@ownedActivityNode.1/@storyPattern/@csp/@variables.2 //@ownedActivityNode.1/@storyPattern/@csp/@variables.3\" constraints=\"//@ownedActivityNode.1/@storyPattern/@csp/@constraints.0 //@ownedActivityNode.1/@storyPattern/@csp/@constraints.1\"/>\r\n        <simultaneous variables=\"//@ownedActivityNode.1/@storyPattern/@csp/@variables.0 //@ownedActivityNode.1/@storyPattern/@csp/@variables.1 //@ownedActivityNode.1/@storyPattern/@csp/@variables.2 //@ownedActivityNode.1/@storyPattern/@csp/@variables.3\" constraints=\"//@ownedActivityNode.1/@storyPattern/@csp/@constraints.0 //@ownedActivityNode.1/@storyPattern/@csp/@constraints.1\"/>\r\n        <backward variables=\"//@ownedActivityNode.1/@storyPattern/@csp/@variables.0 //@ownedActivityNode.1/@storyPattern/@csp/@variables.1 //@ownedActivityNode.1/@storyPattern/@csp/@variables.2 //@ownedActivityNode.1/@storyPattern/@csp/@variables.3\" constraints=\"//@ownedActivityNode.1/@storyPattern/@csp/@constraints.0 //@ownedActivityNode.1/@storyPattern/@csp/@constraints.1\"/>\r\n        <source/>\r\n        <target/>\r\n      </csp>\r\n      <target href=\"platform:/resource/BlipTGG/model/BlipTGG.tgg.xmi#//@domain.1\"/>\r\n    </storyPattern>\r\n  </ownedActivityNode>\r\n  <ownedActivityNode xsi:type=\"activities:StopNode\" incoming=\"//@ownedActivityEdge.2\">\r\n    <returnValue xsi:type=\"patternExpressions:ObjectVariableExpression\" object=\"//@ownedActivityNode.0/@storyPattern/@objectVariable.0\"/>\r\n  </ownedActivityNode>\r\n  <ownedActivityNode xsi:type=\"activities:StartNode\" outgoing=\"//@ownedActivityEdge.0\"/>\r\n  <ownedActivityNode xsi:type=\"activities:StatementNode\" name=\"perform postprocessing\" outgoing=\"//@ownedActivityEdge.2\" incoming=\"//@ownedActivityEdge.4\">\r\n    <statementExpression xsi:type=\"expressions:LiteralExpression\" value=\"// No post processing method found\"/>\r\n  </ownedActivityNode>\r\n  <ownedActivityNode xsi:type=\"activities:StoryNode\" name=\"bookkeeping for edges\" outgoing=\"//@ownedActivityEdge.4\" incoming=\"//@ownedActivityEdge.3\">\r\n    <storyPattern>\r\n      <objectVariable name=\"ruleresult\" outgoingLink=\"//@ownedActivityNode.5/@storyPattern/@linkVariable.1 //@ownedActivityNode.5/@storyPattern/@linkVariable.4 //@ownedActivityNode.5/@storyPattern/@linkVariable.7 //@ownedActivityNode.5/@storyPattern/@linkVariable.10 //@ownedActivityNode.5/@storyPattern/@linkVariable.12\" bindingState=\"BOUND\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"http://www.moflon.org.TGGRuntime#//PerformRuleResult\"/>\r\n      </objectVariable>\r\n      <objectVariable name=\"modelNode\" incomingLink=\"//@ownedActivityNode.5/@storyPattern/@linkVariable.0\" bindingState=\"BOUND\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"http://www.eclipse.org/emf/2002/Ecore#//EObject\"/>\r\n      </objectVariable>\r\n      <objectVariable name=\"modelAttributeNode\" incomingLink=\"//@ownedActivityNode.5/@storyPattern/@linkVariable.2 //@ownedActivityNode.5/@storyPattern/@linkVariable.5 //@ownedActivityNode.5/@storyPattern/@linkVariable.6\" bindingState=\"BOUND\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"http://www.eclipse.org/emf/2002/Ecore#//EObject\"/>\r\n      </objectVariable>\r\n      <objectVariable name=\"typeAttr\" incomingLink=\"//@ownedActivityNode.5/@storyPattern/@linkVariable.3\" bindingState=\"BOUND\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"http://www.eclipse.org/emf/2002/Ecore#//EObject\"/>\r\n      </objectVariable>\r\n      <objectVariable name=\"mModelToModel\" bindingState=\"BOUND\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"http://www.eclipse.org/emf/2002/Ecore#//EObject\"/>\r\n      </objectVariable>\r\n      <objectVariable name=\"ma2bma\" incomingLink=\"//@ownedActivityNode.5/@storyPattern/@linkVariable.8 //@ownedActivityNode.5/@storyPattern/@linkVariable.11\" bindingState=\"BOUND\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"http://www.eclipse.org/emf/2002/Ecore#//EObject\"/>\r\n      </objectVariable>\r\n      <objectVariable name=\"blipModel\" incomingLink=\"//@ownedActivityNode.5/@storyPattern/@linkVariable.14\" bindingState=\"BOUND\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"http://www.eclipse.org/emf/2002/Ecore#//EObject\"/>\r\n      </objectVariable>\r\n      <objectVariable name=\"blipModelAttribute\" incomingLink=\"//@ownedActivityNode.5/@storyPattern/@linkVariable.9 //@ownedActivityNode.5/@storyPattern/@linkVariable.13\" bindingState=\"BOUND\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"http://www.eclipse.org/emf/2002/Ecore#//EObject\"/>\r\n      </objectVariable>\r\n      <objectVariable name=\"modelAttributeNode__parentNode__modelNode\" incomingLink=\"//@ownedActivityNode.5/@storyPattern/@linkVariable.1\" outgoingLink=\"//@ownedActivityNode.5/@storyPattern/@linkVariable.0 //@ownedActivityNode.5/@storyPattern/@linkVariable.2\" bindingOperator=\"CREATE\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"http://www.moflon.org.TGGRuntime#//Edge\"/>\r\n        <attributeAssignment>\r\n          <attribute href=\"http://www.moflon.org.TGGRuntime#//Edge/name\"/>\r\n          <valueExpression xsi:type=\"expressions:LiteralExpression\" value=\"&quot;parentNode&quot;\"/>\r\n        </attributeAssignment>\r\n      </objectVariable>\r\n      <objectVariable name=\"modelAttributeNode__attribute__typeAttr\" incomingLink=\"//@ownedActivityNode.5/@storyPattern/@linkVariable.4\" outgoingLink=\"//@ownedActivityNode.5/@storyPattern/@linkVariable.3 //@ownedActivityNode.5/@storyPattern/@linkVariable.5\" bindingOperator=\"CREATE\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"http://www.moflon.org.TGGRuntime#//Edge\"/>\r\n        <attributeAssignment>\r\n          <attribute href=\"http://www.moflon.org.TGGRuntime#//Edge/name\"/>\r\n          <valueExpression xsi:type=\"expressions:LiteralExpression\" value=\"&quot;attribute&quot;\"/>\r\n        </attributeAssignment>\r\n      </objectVariable>\r\n      <objectVariable name=\"ma2bma__source__modelAttributeNode\" incomingLink=\"//@ownedActivityNode.5/@storyPattern/@linkVariable.7\" outgoingLink=\"//@ownedActivityNode.5/@storyPattern/@linkVariable.6 //@ownedActivityNode.5/@storyPattern/@linkVariable.8\" bindingOperator=\"CREATE\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"http://www.moflon.org.TGGRuntime#//Edge\"/>\r\n        <attributeAssignment>\r\n          <attribute href=\"http://www.moflon.org.TGGRuntime#//Edge/name\"/>\r\n          <valueExpression xsi:type=\"expressions:LiteralExpression\" value=\"&quot;source&quot;\"/>\r\n        </attributeAssignment>\r\n      </objectVariable>\r\n      <objectVariable name=\"ma2bma__target__blipModelAttribute\" incomingLink=\"//@ownedActivityNode.5/@storyPattern/@linkVariable.10\" outgoingLink=\"//@ownedActivityNode.5/@storyPattern/@linkVariable.9 //@ownedActivityNode.5/@storyPattern/@linkVariable.11\" bindingOperator=\"CREATE\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"http://www.moflon.org.TGGRuntime#//Edge\"/>\r\n        <attributeAssignment>\r\n          <attribute href=\"http://www.moflon.org.TGGRuntime#//Edge/name\"/>\r\n          <valueExpression xsi:type=\"expressions:LiteralExpression\" value=\"&quot;target&quot;\"/>\r\n        </attributeAssignment>\r\n      </objectVariable>\r\n      <objectVariable name=\"blipModel__attributes__blipModelAttribute\" incomingLink=\"//@ownedActivityNode.5/@storyPattern/@linkVariable.12\" outgoingLink=\"//@ownedActivityNode.5/@storyPattern/@linkVariable.14 //@ownedActivityNode.5/@storyPattern/@linkVariable.13\" bindingOperator=\"CREATE\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"http://www.moflon.org.TGGRuntime#//Edge\"/>\r\n        <attributeAssignment>\r\n          <attribute href=\"http://www.moflon.org.TGGRuntime#//Edge/name\"/>\r\n          <valueExpression xsi:type=\"expressions:LiteralExpression\" value=\"&quot;attributes&quot;\"/>\r\n        </attributeAssignment>\r\n      </objectVariable>\r\n      <linkVariable name=\"trg\" target=\"//@ownedActivityNode.5/@storyPattern/@objectVariable.1\" source=\"//@ownedActivityNode.5/@storyPattern/@objectVariable.8\" bindingOperator=\"CREATE\"/>\r\n      <linkVariable name=\"createdEdges\" target=\"//@ownedActivityNode.5/@storyPattern/@objectVariable.8\" source=\"//@ownedActivityNode.5/@storyPattern/@objectVariable.0\" bindingOperator=\"CREATE\"/>\r\n      <linkVariable name=\"src\" target=\"//@ownedActivityNode.5/@storyPattern/@objectVariable.2\" source=\"//@ownedActivityNode.5/@storyPattern/@objectVariable.8\" bindingOperator=\"CREATE\"/>\r\n      <linkVariable name=\"trg\" target=\"//@ownedActivityNode.5/@storyPattern/@objectVariable.3\" source=\"//@ownedActivityNode.5/@storyPattern/@objectVariable.9\" bindingOperator=\"CREATE\"/>\r\n      <linkVariable name=\"createdEdges\" target=\"//@ownedActivityNode.5/@storyPattern/@objectVariable.9\" source=\"//@ownedActivityNode.5/@storyPattern/@objectVariable.0\" bindingOperator=\"CREATE\"/>\r\n      <linkVariable name=\"src\" target=\"//@ownedActivityNode.5/@storyPattern/@objectVariable.2\" source=\"//@ownedActivityNode.5/@storyPattern/@objectVariable.9\" bindingOperator=\"CREATE\"/>\r\n      <linkVariable name=\"trg\" target=\"//@ownedActivityNode.5/@storyPattern/@objectVariable.2\" source=\"//@ownedActivityNode.5/@storyPattern/@objectVariable.10\" bindingOperator=\"CREATE\"/>\r\n      <linkVariable name=\"createdEdges\" target=\"//@ownedActivityNode.5/@storyPattern/@objectVariable.10\" source=\"//@ownedActivityNode.5/@storyPattern/@objectVariable.0\" bindingOperator=\"CREATE\"/>\r\n      <linkVariable name=\"src\" target=\"//@ownedActivityNode.5/@storyPattern/@objectVariable.5\" source=\"//@ownedActivityNode.5/@storyPattern/@objectVariable.10\" bindingOperator=\"CREATE\"/>\r\n      <linkVariable name=\"trg\" target=\"//@ownedActivityNode.5/@storyPattern/@objectVariable.7\" source=\"//@ownedActivityNode.5/@storyPattern/@objectVariable.11\" bindingOperator=\"CREATE\"/>\r\n      <linkVariable name=\"createdEdges\" target=\"//@ownedActivityNode.5/@storyPattern/@objectVariable.11\" source=\"//@ownedActivityNode.5/@storyPattern/@objectVariable.0\" bindingOperator=\"CREATE\"/>\r\n      <linkVariable name=\"src\" target=\"//@ownedActivityNode.5/@storyPattern/@objectVariable.5\" source=\"//@ownedActivityNode.5/@storyPattern/@objectVariable.11\" bindingOperator=\"CREATE\"/>\r\n      <linkVariable name=\"translatedEdges\" target=\"//@ownedActivityNode.5/@storyPattern/@objectVariable.12\" source=\"//@ownedActivityNode.5/@storyPattern/@objectVariable.0\" bindingOperator=\"CREATE\"/>\r\n      <linkVariable name=\"trg\" target=\"//@ownedActivityNode.5/@storyPattern/@objectVariable.7\" source=\"//@ownedActivityNode.5/@storyPattern/@objectVariable.12\" bindingOperator=\"CREATE\"/>\r\n      <linkVariable name=\"src\" target=\"//@ownedActivityNode.5/@storyPattern/@objectVariable.6\" source=\"//@ownedActivityNode.5/@storyPattern/@objectVariable.12\" bindingOperator=\"CREATE\"/>\r\n    </storyPattern>\r\n  </ownedActivityNode>\r\n  <ownedActivityEdge source=\"//@ownedActivityNode.3\" target=\"//@ownedActivityNode.1\"/>\r\n  <ownedActivityEdge source=\"//@ownedActivityNode.1\" target=\"//@ownedActivityNode.0\"/>\r\n  <ownedActivityEdge source=\"//@ownedActivityNode.4\" target=\"//@ownedActivityNode.2\"/>\r\n  <ownedActivityEdge source=\"//@ownedActivityNode.0\" target=\"//@ownedActivityNode.5\"/>\r\n  <ownedActivityEdge source=\"//@ownedActivityNode.5\" target=\"//@ownedActivityNode.4\"/>\r\n</activities:Activity>\r\n" });
		addAnnotation(
				getMModelAttributeToModelAttributeRule__IsAppropriate_BWD__Match_BlipModel_BlipModelAttribute(),
				source,
				new String[] {
						"XMI",
						"<?xml version=\"1.0\" encoding=\"UTF-8\"?>\r\n<activities:Activity xmi:version=\"2.0\" xmlns:xmi=\"http://www.omg.org/XMI\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:activities=\"http://www.moflon.org.SDMLanguage.activities\" xmlns:ecore=\"http://www.eclipse.org/emf/2002/Ecore\" xmlns:expressions=\"http://www.moflon.org.SDMLanguage.expressions\">\r\n  <ownedActivityNode xsi:type=\"activities:StatementNode\" name=\"Check CSP\" outgoing=\"//@ownedActivityEdge.3 //@ownedActivityEdge.5\" incoming=\"//@ownedActivityEdge.1\">\r\n    <statementExpression xsi:type=\"expressions:LiteralExpression\" value=\"csp.check();\"/>\r\n  </ownedActivityNode>\r\n  <ownedActivityNode xsi:type=\"activities:StatementNode\" name=\"Solve CSP\" outgoing=\"//@ownedActivityEdge.1\" incoming=\"//@ownedActivityEdge.2\">\r\n    <statementExpression xsi:type=\"expressions:LiteralExpression\" value=\"// Create CSP&#xD;&#xA;CSP csp = CspFactory.eINSTANCE.createCSP();&#xD;&#xA;&#xD;&#xA;// Create literals&#xD;&#xA;&#xD;&#xA;// Create attribute variables&#xD;&#xA;&#xD;&#xA;// Create explicit parameters&#xD;&#xA;&#xD;&#xA;// Create unbound variables&#xD;&#xA;&#xD;&#xA;// Create constraints&#xD;&#xA;&#xD;&#xA;&#xD;&#xA;&#xD;&#xA;&#xD;&#xA;// Solve CSP&#xD;&#xA;\"/>\r\n  </ownedActivityNode>\r\n  <ownedActivityNode xsi:type=\"activities:StopNode\" incoming=\"//@ownedActivityEdge.3\">\r\n    <returnValue xsi:type=\"expressions:LiteralExpression\" value=\"false\"/>\r\n  </ownedActivityNode>\r\n  <ownedActivityNode xsi:type=\"activities:StoryNode\" name=\"collect elements to be translated\" outgoing=\"//@ownedActivityEdge.0\" incoming=\"//@ownedActivityEdge.5\">\r\n    <storyPattern>\r\n      <objectVariable name=\"match\" outgoingLink=\"//@ownedActivityNode.3/@storyPattern/@linkVariable.0 //@ownedActivityNode.3/@storyPattern/@linkVariable.1\" bindingState=\"BOUND\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"http://www.moflon.org.TGGRuntime#//Match\"/>\r\n      </objectVariable>\r\n      <objectVariable name=\"blipModelAttribute\" incomingLink=\"//@ownedActivityNode.3/@storyPattern/@linkVariable.0 //@ownedActivityNode.3/@storyPattern/@linkVariable.3\" bindingState=\"BOUND\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"platform:/resource/BlipLanguage/model/BlipLanguage.ecore#//BlipModelAttribute\"/>\r\n      </objectVariable>\r\n      <objectVariable name=\"blipModel__attributes__blipModelAttribute\" incomingLink=\"//@ownedActivityNode.3/@storyPattern/@linkVariable.1\" outgoingLink=\"//@ownedActivityNode.3/@storyPattern/@linkVariable.2 //@ownedActivityNode.3/@storyPattern/@linkVariable.3\" bindingOperator=\"CREATE\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"http://www.moflon.org.TGGRuntime#//Edge\"/>\r\n        <attributeAssignment>\r\n          <attribute href=\"http://www.moflon.org.TGGRuntime#//Edge/name\"/>\r\n          <valueExpression xsi:type=\"expressions:LiteralExpression\" value=\"&quot;attributes&quot;\"/>\r\n        </attributeAssignment>\r\n      </objectVariable>\r\n      <objectVariable name=\"blipModel\" incomingLink=\"//@ownedActivityNode.3/@storyPattern/@linkVariable.2\" bindingState=\"BOUND\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"platform:/resource/BlipLanguage/model/BlipLanguage.ecore#//BlipModel\"/>\r\n      </objectVariable>\r\n      <linkVariable name=\"toBeTranslatedElements\" target=\"//@ownedActivityNode.3/@storyPattern/@objectVariable.1\" source=\"//@ownedActivityNode.3/@storyPattern/@objectVariable.0\" bindingOperator=\"CREATE\"/>\r\n      <linkVariable name=\"toBeTranslatedEdges\" target=\"//@ownedActivityNode.3/@storyPattern/@objectVariable.2\" source=\"//@ownedActivityNode.3/@storyPattern/@objectVariable.0\" bindingOperator=\"CREATE\"/>\r\n      <linkVariable name=\"src\" target=\"//@ownedActivityNode.3/@storyPattern/@objectVariable.3\" source=\"//@ownedActivityNode.3/@storyPattern/@objectVariable.2\" bindingOperator=\"CREATE\"/>\r\n      <linkVariable name=\"trg\" target=\"//@ownedActivityNode.3/@storyPattern/@objectVariable.1\" source=\"//@ownedActivityNode.3/@storyPattern/@objectVariable.2\" bindingOperator=\"CREATE\"/>\r\n    </storyPattern>\r\n  </ownedActivityNode>\r\n  <ownedActivityNode xsi:type=\"activities:StartNode\" outgoing=\"//@ownedActivityEdge.2\"/>\r\n  <ownedActivityNode xsi:type=\"activities:StoryNode\" name=\"collect context elements\" outgoing=\"//@ownedActivityEdge.4\" incoming=\"//@ownedActivityEdge.0\">\r\n    <storyPattern>\r\n      <objectVariable name=\"match\" outgoingLink=\"//@ownedActivityNode.5/@storyPattern/@linkVariable.0\" bindingState=\"BOUND\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"http://www.moflon.org.TGGRuntime#//Match\"/>\r\n      </objectVariable>\r\n      <objectVariable name=\"blipModel\" incomingLink=\"//@ownedActivityNode.5/@storyPattern/@linkVariable.0\" bindingState=\"BOUND\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"platform:/resource/BlipLanguage/model/BlipLanguage.ecore#//BlipModel\"/>\r\n      </objectVariable>\r\n      <linkVariable name=\"contextNodes\" target=\"//@ownedActivityNode.5/@storyPattern/@objectVariable.1\" source=\"//@ownedActivityNode.5/@storyPattern/@objectVariable.0\" bindingOperator=\"CREATE\"/>\r\n    </storyPattern>\r\n  </ownedActivityNode>\r\n  <ownedActivityNode xsi:type=\"activities:StopNode\" incoming=\"//@ownedActivityEdge.6\">\r\n    <returnValue xsi:type=\"expressions:LiteralExpression\" value=\"true\"/>\r\n  </ownedActivityNode>\r\n  <ownedActivityNode xsi:type=\"activities:StatementNode\" name=\"register objects to match\" outgoing=\"//@ownedActivityEdge.6\" incoming=\"//@ownedActivityEdge.4\">\r\n    <statementExpression xsi:type=\"expressions:LiteralExpression\" value=\"match.registerObject(&quot;blipModel&quot;, blipModel);&#xA;match.registerObject(&quot;blipModelAttribute&quot;, blipModelAttribute);&#xA;\"/>\r\n  </ownedActivityNode>\r\n  <ownedActivityEdge source=\"//@ownedActivityNode.3\" target=\"//@ownedActivityNode.5\"/>\r\n  <ownedActivityEdge source=\"//@ownedActivityNode.1\" target=\"//@ownedActivityNode.0\"/>\r\n  <ownedActivityEdge source=\"//@ownedActivityNode.4\" target=\"//@ownedActivityNode.1\"/>\r\n  <ownedActivityEdge source=\"//@ownedActivityNode.0\" target=\"//@ownedActivityNode.2\" guard=\"FAILURE\"/>\r\n  <ownedActivityEdge source=\"//@ownedActivityNode.5\" target=\"//@ownedActivityNode.7\"/>\r\n  <ownedActivityEdge source=\"//@ownedActivityNode.0\" target=\"//@ownedActivityNode.3\" guard=\"SUCCESS\"/>\r\n  <ownedActivityEdge source=\"//@ownedActivityNode.7\" target=\"//@ownedActivityNode.6\"/>\r\n</activities:Activity>\r\n" });
		addAnnotation(
				getMModelAttributeToModelAttributeRule__IsApplicable_BWD__Match(),
				source,
				new String[] {
						"XMI",
						"<?xml version=\"1.0\" encoding=\"UTF-8\"?>\r\n<activities:Activity xmi:version=\"2.0\" xmlns:xmi=\"http://www.omg.org/XMI\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:TGGLanguage=\"http://www.moflon.org.TGGLanguage\" xmlns:activities=\"http://www.moflon.org.SDMLanguage.activities\" xmlns:csp=\"http://www.moflon.org.TGGLanguage.csp\" xmlns:ecore=\"http://www.eclipse.org/emf/2002/Ecore\" xmlns:expressions=\"http://www.moflon.org.SDMLanguage.expressions\" xmlns:patternExpressions=\"http://www.moflon.org.SDMLanguage.patterns.patternExpressions\">\r\n  <ownedActivityNode xsi:type=\"activities:StoryNode\" name=\"core match\" outgoing=\"//@ownedActivityEdge.8\" incoming=\"//@ownedActivityEdge.2\">\r\n    <storyPattern xsi:type=\"TGGLanguage:TGGRule\" name=\"MModelAttributeToModelAttributeRule\" cspSpec=\"&#xD;&#xA;&#x9;&#x9;eq(modelAttributeNode.name, blipModelAttribute.name)&#xD;&#xA;&#x9;&#x9;eq(typeAttr.value, blipModelAttribute.type)&#xD;&#xA;&#x9;\">\r\n      <objectVariable xsi:type=\"TGGLanguage:TGGObjectVariable\" name=\"blipModel\" bindingState=\"BOUND\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"platform:/resource/BlipLanguage/model/BlipLanguage.ecore#//BlipModel\"/>\r\n        <bindingExpression xsi:type=\"expressions:LiteralExpression\" value=\"match.getObject(&quot;blipModel&quot;)\"/>\r\n        <domain href=\"platform:/resource/BlipTGG/model/BlipTGG.tgg.xmi#//@domain.1\"/>\r\n      </objectVariable>\r\n      <objectVariable xsi:type=\"TGGLanguage:TGGObjectVariable\" name=\"blipModelAttribute\" bindingState=\"BOUND\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"platform:/resource/BlipLanguage/model/BlipLanguage.ecore#//BlipModelAttribute\"/>\r\n        <bindingExpression xsi:type=\"expressions:LiteralExpression\" value=\"match.getObject(&quot;blipModelAttribute&quot;)\"/>\r\n        <domain href=\"platform:/resource/BlipTGG/model/BlipTGG.tgg.xmi#//@domain.1\"/>\r\n      </objectVariable>\r\n      <objectVariable name=\"match\" bindingState=\"BOUND\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"http://www.moflon.org.TGGRuntime#//Match\"/>\r\n      </objectVariable>\r\n      <correspondence href=\"platform:/resource/BlipTGG/model/BlipTGG.tgg.xmi#//@domain.2\"/>\r\n      <source href=\"platform:/resource/BlipTGG/model/BlipTGG.tgg.xmi#//@domain.0\"/>\r\n      <csp>\r\n        <constraints variables=\"//@ownedActivityNode.0/@storyPattern/@csp/@variables.0 //@ownedActivityNode.0/@storyPattern/@csp/@variables.1\" name=\"eq\">\r\n          <allowedAdornments value=\"BB\"/>\r\n          <allowedAdornments value=\"BF\"/>\r\n          <allowedAdornments value=\"FB\"/>\r\n        </constraints>\r\n        <constraints variables=\"//@ownedActivityNode.0/@storyPattern/@csp/@variables.2 //@ownedActivityNode.0/@storyPattern/@csp/@variables.3\" name=\"eq\">\r\n          <allowedAdornments value=\"BB\"/>\r\n          <allowedAdornments value=\"BF\"/>\r\n          <allowedAdornments value=\"FB\"/>\r\n        </constraints>\r\n        <variables xsi:type=\"csp:AttributeVariable\" type=\"String\" attribute=\"name\" objectVariable=\"modelAttributeNode\"/>\r\n        <variables xsi:type=\"csp:AttributeVariable\" type=\"String\" attribute=\"name\" objectVariable=\"blipModelAttribute\"/>\r\n        <variables xsi:type=\"csp:AttributeVariable\" type=\"String\" attribute=\"value\" objectVariable=\"typeAttr\"/>\r\n        <variables xsi:type=\"csp:AttributeVariable\" type=\"String\" attribute=\"type\" objectVariable=\"blipModelAttribute\"/>\r\n      </csp>\r\n      <target href=\"platform:/resource/BlipTGG/model/BlipTGG.tgg.xmi#//@domain.1\"/>\r\n    </storyPattern>\r\n  </ownedActivityNode>\r\n  <ownedActivityNode xsi:type=\"activities:StoryNode\" name=\"prepare return value\" outgoing=\"//@ownedActivityEdge.2\" incoming=\"//@ownedActivityEdge.4\">\r\n    <storyPattern>\r\n      <objectVariable name=\"ruleresult\" outgoingLink=\"//@ownedActivityNode.1/@storyPattern/@linkVariable.1\" bindingOperator=\"CREATE\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"http://www.moflon.org.TGGRuntime#//IsApplicableRuleResult\"/>\r\n        <attributeAssignment>\r\n          <attribute href=\"http://www.moflon.org.TGGRuntime#//RuleResult/success\"/>\r\n          <valueExpression xsi:type=\"expressions:LiteralExpression\" value=\"false\"/>\r\n        </attributeAssignment>\r\n        <attributeAssignment>\r\n          <attribute href=\"http://www.moflon.org.TGGRuntime#//RuleResult/rule\"/>\r\n          <valueExpression xsi:type=\"expressions:LiteralExpression\" value=\"&quot;MModelAttributeToModelAttributeRule&quot;\"/>\r\n        </attributeAssignment>\r\n      </objectVariable>\r\n      <objectVariable name=\"performOperation\" incomingLink=\"//@ownedActivityNode.1/@storyPattern/@linkVariable.0 //@ownedActivityNode.1/@storyPattern/@linkVariable.1\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"http://www.eclipse.org/emf/2002/Ecore#//EOperation\"/>\r\n        <constraint>\r\n          <constraintExpression xsi:type=\"expressions:ComparisonExpression\" operator=\"EQUAL\">\r\n            <rightExpression xsi:type=\"expressions:LiteralExpression\" value=\"&quot;perform_BWD&quot;\"/>\r\n            <leftExpression xsi:type=\"patternExpressions:AttributeValueExpression\" object=\"//@ownedActivityNode.1/@storyPattern/@objectVariable.1\">\r\n              <attribute href=\"http://www.eclipse.org/emf/2002/Ecore#//ENamedElement/name\"/>\r\n            </leftExpression>\r\n          </constraintExpression>\r\n        </constraint>\r\n      </objectVariable>\r\n      <objectVariable name=\"eClass\" outgoingLink=\"//@ownedActivityNode.1/@storyPattern/@linkVariable.0\" bindingState=\"BOUND\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"http://www.eclipse.org/emf/2002/Ecore#//EClass\"/>\r\n        <bindingExpression xsi:type=\"expressions:LiteralExpression\" value=\"this.eClass()\"/>\r\n      </objectVariable>\r\n      <linkVariable name=\"eOperations\" target=\"//@ownedActivityNode.1/@storyPattern/@objectVariable.1\" source=\"//@ownedActivityNode.1/@storyPattern/@objectVariable.2\"/>\r\n      <linkVariable name=\"performOperation\" target=\"//@ownedActivityNode.1/@storyPattern/@objectVariable.1\" source=\"//@ownedActivityNode.1/@storyPattern/@objectVariable.0\" bindingOperator=\"CREATE\"/>\r\n    </storyPattern>\r\n  </ownedActivityNode>\r\n  <ownedActivityNode xsi:type=\"activities:StopNode\" incoming=\"//@ownedActivityEdge.5\">\r\n    <returnValue xsi:type=\"patternExpressions:ObjectVariableExpression\" object=\"//@ownedActivityNode.1/@storyPattern/@objectVariable.0\"/>\r\n  </ownedActivityNode>\r\n  <ownedActivityNode xsi:type=\"activities:StoryNode\" name=\"find context\" outgoing=\"//@ownedActivityEdge.5 //@ownedActivityEdge.7\" incoming=\"//@ownedActivityEdge.0 //@ownedActivityEdge.3 //@ownedActivityEdge.8\" forEach=\"true\">\r\n    <storyPattern xsi:type=\"TGGLanguage:TGGRule\" name=\"MModelAttributeToModelAttributeRule\" cspSpec=\"&#xD;&#xA;&#x9;&#x9;eq(modelAttributeNode.name, blipModelAttribute.name)&#xD;&#xA;&#x9;&#x9;eq(typeAttr.value, blipModelAttribute.type)&#xD;&#xA;&#x9;\">\r\n      <objectVariable xsi:type=\"TGGLanguage:TGGObjectVariable\" name=\"modelNode\" incomingLink=\"//@ownedActivityNode.3/@storyPattern/@linkVariable.0\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"platform:/plugin/org.moflon.moca.MocaTree/model/MocaTree.ecore#//Node\"/>\r\n        <domain href=\"platform:/resource/BlipTGG/model/BlipTGG.tgg.xmi#//@domain.0\"/>\r\n      </objectVariable>\r\n      <objectVariable xsi:type=\"TGGLanguage:TGGObjectVariable\" name=\"mModelToModel\" outgoingLink=\"//@ownedActivityNode.3/@storyPattern/@linkVariable.0 //@ownedActivityNode.3/@storyPattern/@linkVariable.1\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"http://www.moflon.org.BlipTGG#//MModelToModel\"/>\r\n        <domain href=\"platform:/resource/BlipTGG/model/BlipTGG.tgg.xmi#//@domain.2\"/>\r\n      </objectVariable>\r\n      <objectVariable xsi:type=\"TGGLanguage:TGGObjectVariable\" name=\"blipModel\" incomingLink=\"//@ownedActivityNode.3/@storyPattern/@linkVariable.1\" outgoingLink=\"//@ownedActivityNode.3/@storyPattern/@linkVariable.2\" bindingState=\"BOUND\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"platform:/resource/BlipLanguage/model/BlipLanguage.ecore#//BlipModel\"/>\r\n        <domain href=\"platform:/resource/BlipTGG/model/BlipTGG.tgg.xmi#//@domain.1\"/>\r\n      </objectVariable>\r\n      <objectVariable xsi:type=\"TGGLanguage:TGGObjectVariable\" name=\"blipModelAttribute\" incomingLink=\"//@ownedActivityNode.3/@storyPattern/@linkVariable.2\" bindingState=\"BOUND\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"platform:/resource/BlipLanguage/model/BlipLanguage.ecore#//BlipModelAttribute\"/>\r\n        <domain href=\"platform:/resource/BlipTGG/model/BlipTGG.tgg.xmi#//@domain.1\"/>\r\n      </objectVariable>\r\n      <objectVariable name=\"isApplicableMatch\" bindingOperator=\"CREATE\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"http://www.moflon.org.TGGRuntime#//IsApplicableMatch\"/>\r\n      </objectVariable>\r\n      <linkVariable xsi:type=\"TGGLanguage:TGGLinkVariable\" name=\"source\" target=\"//@ownedActivityNode.3/@storyPattern/@objectVariable.0\" source=\"//@ownedActivityNode.3/@storyPattern/@objectVariable.1\">\r\n        <domain href=\"platform:/resource/BlipTGG/model/BlipTGG.tgg.xmi#//@domain.2\"/>\r\n      </linkVariable>\r\n      <linkVariable xsi:type=\"TGGLanguage:TGGLinkVariable\" name=\"target\" target=\"//@ownedActivityNode.3/@storyPattern/@objectVariable.2\" source=\"//@ownedActivityNode.3/@storyPattern/@objectVariable.1\">\r\n        <domain href=\"platform:/resource/BlipTGG/model/BlipTGG.tgg.xmi#//@domain.2\"/>\r\n      </linkVariable>\r\n      <linkVariable xsi:type=\"TGGLanguage:TGGLinkVariable\" name=\"attributes\" target=\"//@ownedActivityNode.3/@storyPattern/@objectVariable.3\" source=\"//@ownedActivityNode.3/@storyPattern/@objectVariable.2\">\r\n        <domain href=\"platform:/resource/BlipTGG/model/BlipTGG.tgg.xmi#//@domain.1\"/>\r\n      </linkVariable>\r\n      <correspondence href=\"platform:/resource/BlipTGG/model/BlipTGG.tgg.xmi#//@domain.2\"/>\r\n      <source href=\"platform:/resource/BlipTGG/model/BlipTGG.tgg.xmi#//@domain.0\"/>\r\n      <csp>\r\n        <constraints variables=\"//@ownedActivityNode.3/@storyPattern/@csp/@variables.0 //@ownedActivityNode.3/@storyPattern/@csp/@variables.1\" name=\"eq\">\r\n          <allowedAdornments value=\"BB\"/>\r\n          <allowedAdornments value=\"BF\"/>\r\n          <allowedAdornments value=\"FB\"/>\r\n        </constraints>\r\n        <constraints variables=\"//@ownedActivityNode.3/@storyPattern/@csp/@variables.2 //@ownedActivityNode.3/@storyPattern/@csp/@variables.3\" name=\"eq\">\r\n          <allowedAdornments value=\"BB\"/>\r\n          <allowedAdornments value=\"BF\"/>\r\n          <allowedAdornments value=\"FB\"/>\r\n        </constraints>\r\n        <variables xsi:type=\"csp:AttributeVariable\" type=\"String\" attribute=\"name\" objectVariable=\"modelAttributeNode\"/>\r\n        <variables xsi:type=\"csp:AttributeVariable\" type=\"String\" attribute=\"name\" objectVariable=\"blipModelAttribute\"/>\r\n        <variables xsi:type=\"csp:AttributeVariable\" type=\"String\" attribute=\"value\" objectVariable=\"typeAttr\"/>\r\n        <variables xsi:type=\"csp:AttributeVariable\" type=\"String\" attribute=\"type\" objectVariable=\"blipModelAttribute\"/>\r\n      </csp>\r\n      <target href=\"platform:/resource/BlipTGG/model/BlipTGG.tgg.xmi#//@domain.1\"/>\r\n    </storyPattern>\r\n  </ownedActivityNode>\r\n  <ownedActivityNode xsi:type=\"activities:StoryNode\" name=\"add match to rule result\" outgoing=\"//@ownedActivityEdge.3\" incoming=\"//@ownedActivityEdge.6\">\r\n    <storyPattern>\r\n      <objectVariable name=\"isApplicableMatch\" incomingLink=\"//@ownedActivityNode.4/@storyPattern/@linkVariable.0\" bindingState=\"BOUND\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"http://www.moflon.org.TGGRuntime#//IsApplicableMatch\"/>\r\n      </objectVariable>\r\n      <objectVariable name=\"ruleresult\" outgoingLink=\"//@ownedActivityNode.4/@storyPattern/@linkVariable.0\" bindingState=\"BOUND\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"http://www.moflon.org.TGGRuntime#//IsApplicableRuleResult\"/>\r\n        <attributeAssignment>\r\n          <attribute href=\"http://www.moflon.org.TGGRuntime#//RuleResult/success\"/>\r\n          <valueExpression xsi:type=\"expressions:LiteralExpression\" value=\"true\"/>\r\n        </attributeAssignment>\r\n      </objectVariable>\r\n      <linkVariable name=\"isApplicableMatch\" target=\"//@ownedActivityNode.4/@storyPattern/@objectVariable.0\" source=\"//@ownedActivityNode.4/@storyPattern/@objectVariable.1\" bindingOperator=\"CREATE\"/>\r\n    </storyPattern>\r\n  </ownedActivityNode>\r\n  <ownedActivityNode xsi:type=\"activities:StatementNode\" name=\"check CSP\" outgoing=\"//@ownedActivityEdge.0 //@ownedActivityEdge.6\" incoming=\"//@ownedActivityEdge.1\">\r\n    <statementExpression xsi:type=\"expressions:LiteralExpression\" value=\"csp.check();\"/>\r\n  </ownedActivityNode>\r\n  <ownedActivityNode xsi:type=\"activities:StatementNode\" name=\"solve CSP\" outgoing=\"//@ownedActivityEdge.1\" incoming=\"//@ownedActivityEdge.7\">\r\n    <statementExpression xsi:type=\"expressions:LiteralExpression\" value=\"// Create CSP&#xD;&#xA;CSP csp = CspFactory.eINSTANCE.createCSP();&#xD;&#xA;isApplicableMatch.getAttributeInfo().add(csp);&#xD;&#xA;&#xD;&#xA;// Create literals&#xD;&#xA;&#xD;&#xA;// Create attribute variables&#xD;&#xA;Variable&lt;String> var_blipModelAttribute_name = CspFactory.eINSTANCE.createVariable(&quot;blipModelAttribute.name&quot;, true, csp);&#xD;&#xA;var_blipModelAttribute_name.setValue(blipModelAttribute.getName());&#xD;&#xA;Variable&lt;String> var_blipModelAttribute_type = CspFactory.eINSTANCE.createVariable(&quot;blipModelAttribute.type&quot;, true, csp);&#xD;&#xA;var_blipModelAttribute_type.setValue(blipModelAttribute.getType());&#xD;&#xA;&#xD;&#xA;// Create explicit parameters&#xD;&#xA;&#xD;&#xA;// Create unbound variables&#xD;&#xA;Variable&lt;String> var_modelAttributeNode_name = CspFactory.eINSTANCE.createVariable(&quot;modelAttributeNode.name&quot;, csp);&#xD;&#xA;Variable&lt;String> var_typeAttr_value = CspFactory.eINSTANCE.createVariable(&quot;typeAttr.value&quot;, csp);&#xD;&#xA;&#xD;&#xA;// Create constraints&#xD;&#xA;Eq&lt;String> eq = new Eq&lt;String>();Eq&lt;String> eq_0 = new Eq&lt;String>();&#xD;&#xA;&#xD;&#xA;csp.getConstraints().add(eq);&#xD;&#xA;csp.getConstraints().add(eq_0);&#xD;&#xA;&#xD;&#xA;// Solve CSP&#xD;&#xA;eq.setRuleName(&quot;&quot;);&#xD;&#xA;eq.solve(var_modelAttributeNode_name,var_blipModelAttribute_name);&#xD;&#xA;eq_0.setRuleName(&quot;&quot;);&#xD;&#xA;eq_0.solve(var_typeAttr_value,var_blipModelAttribute_type);&#xD;&#xA;&#xD;&#xA;// Snapshot pattern match on which CSP is solved&#xD;&#xA;isApplicableMatch.registerObject(&quot;modelNode&quot;,modelNode);&#xD;&#xA;isApplicableMatch.registerObject(&quot;mModelToModel&quot;,mModelToModel);&#xD;&#xA;isApplicableMatch.registerObject(&quot;blipModel&quot;,blipModel);&#xD;&#xA;isApplicableMatch.registerObject(&quot;blipModelAttribute&quot;,blipModelAttribute);&#xD;&#xA;\"/>\r\n  </ownedActivityNode>\r\n  <ownedActivityNode xsi:type=\"activities:StartNode\" outgoing=\"//@ownedActivityEdge.4\"/>\r\n  <ownedActivityEdge source=\"//@ownedActivityNode.5\" target=\"//@ownedActivityNode.3\" guard=\"FAILURE\"/>\r\n  <ownedActivityEdge source=\"//@ownedActivityNode.6\" target=\"//@ownedActivityNode.5\"/>\r\n  <ownedActivityEdge source=\"//@ownedActivityNode.1\" target=\"//@ownedActivityNode.0\"/>\r\n  <ownedActivityEdge source=\"//@ownedActivityNode.4\" target=\"//@ownedActivityNode.3\"/>\r\n  <ownedActivityEdge source=\"//@ownedActivityNode.7\" target=\"//@ownedActivityNode.1\"/>\r\n  <ownedActivityEdge source=\"//@ownedActivityNode.3\" target=\"//@ownedActivityNode.2\" guard=\"END\"/>\r\n  <ownedActivityEdge source=\"//@ownedActivityNode.5\" target=\"//@ownedActivityNode.4\" guard=\"SUCCESS\"/>\r\n  <ownedActivityEdge source=\"//@ownedActivityNode.3\" target=\"//@ownedActivityNode.6\" guard=\"EACH_TIME\"/>\r\n  <ownedActivityEdge source=\"//@ownedActivityNode.0\" target=\"//@ownedActivityNode.3\"/>\r\n</activities:Activity>\r\n" });
		addAnnotation(
				getMModelAttributeToModelAttributeRule__IsAppropriate_FWD_Node_1__Node(),
				source,
				new String[] {
						"XMI",
						"<?xml version=\"1.0\" encoding=\"UTF-8\"?>\r\n<activities:Activity xmi:version=\"2.0\" xmlns:xmi=\"http://www.omg.org/XMI\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:TGGLanguage=\"http://www.moflon.org.TGGLanguage\" xmlns:activities=\"http://www.moflon.org.SDMLanguage.activities\" xmlns:callExpressions=\"http://www.moflon.org.SDMLanguage.calls.callExpressions\" xmlns:csp=\"http://www.moflon.org.TGGLanguage.csp\" xmlns:ecore=\"http://www.eclipse.org/emf/2002/Ecore\" xmlns:expressions=\"http://www.moflon.org.SDMLanguage.expressions\" xmlns:patternExpressions=\"http://www.moflon.org.SDMLanguage.patterns.patternExpressions\">\r\n  <ownedActivityNode xsi:type=\"activities:StoryNode\" name=\"prepare return value\" outgoing=\"//@ownedActivityEdge.4\" incoming=\"//@ownedActivityEdge.0\">\r\n    <storyPattern>\r\n      <objectVariable name=\"performOperation\" incomingLink=\"//@ownedActivityNode.0/@storyPattern/@linkVariable.1 //@ownedActivityNode.0/@storyPattern/@linkVariable.0\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"http://www.eclipse.org/emf/2002/Ecore#//EOperation\"/>\r\n        <constraint>\r\n          <constraintExpression xsi:type=\"expressions:ComparisonExpression\" operator=\"EQUAL\">\r\n            <rightExpression xsi:type=\"expressions:LiteralExpression\" value=\"&quot;isApplicable_FWD&quot;\"/>\r\n            <leftExpression xsi:type=\"patternExpressions:AttributeValueExpression\" object=\"//@ownedActivityNode.0/@storyPattern/@objectVariable.0\">\r\n              <attribute href=\"http://www.eclipse.org/emf/2002/Ecore#//ENamedElement/name\"/>\r\n            </leftExpression>\r\n          </constraintExpression>\r\n        </constraint>\r\n      </objectVariable>\r\n      <objectVariable name=\"this\" bindingState=\"BOUND\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"http://www.moflon.org.BlipTGG#//Rules/MModelAttributeToModelAttributeRule\"/>\r\n      </objectVariable>\r\n      <objectVariable name=\"ruleresult\" outgoingLink=\"//@ownedActivityNode.0/@storyPattern/@linkVariable.0\" bindingOperator=\"CREATE\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"http://www.moflon.org.TGGRuntime#//IsAppropriateRuleResult\"/>\r\n        <attributeAssignment>\r\n          <attribute href=\"http://www.moflon.org.TGGRuntime#//RuleResult/success\"/>\r\n          <valueExpression xsi:type=\"expressions:LiteralExpression\" value=\"false\"/>\r\n        </attributeAssignment>\r\n      </objectVariable>\r\n      <objectVariable name=\"eClass\" outgoingLink=\"//@ownedActivityNode.0/@storyPattern/@linkVariable.1\" bindingState=\"BOUND\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"http://www.eclipse.org/emf/2002/Ecore#//EClass\"/>\r\n        <bindingExpression xsi:type=\"expressions:LiteralExpression\" value=\"this.eClass()\"/>\r\n      </objectVariable>\r\n      <linkVariable name=\"performOperation\" target=\"//@ownedActivityNode.0/@storyPattern/@objectVariable.0\" source=\"//@ownedActivityNode.0/@storyPattern/@objectVariable.2\" bindingOperator=\"CREATE\"/>\r\n      <linkVariable name=\"eOperations\" target=\"//@ownedActivityNode.0/@storyPattern/@objectVariable.0\" source=\"//@ownedActivityNode.0/@storyPattern/@objectVariable.3\"/>\r\n    </storyPattern>\r\n  </ownedActivityNode>\r\n  <ownedActivityNode xsi:type=\"activities:StoryNode\" name=\"test core match\" outgoing=\"//@ownedActivityEdge.3 //@ownedActivityEdge.1\" incoming=\"//@ownedActivityEdge.4 //@ownedActivityEdge.5 //@ownedActivityEdge.7\" forEach=\"true\">\r\n    <storyPattern xsi:type=\"TGGLanguage:TGGRule\" name=\"MModelAttributeToModelAttributeRule\" cspSpec=\"&#xD;&#xA;&#x9;&#x9;eq(modelAttributeNode.name, blipModelAttribute.name)&#xD;&#xA;&#x9;&#x9;eq(typeAttr.value, blipModelAttribute.type)&#xD;&#xA;&#x9;\">\r\n      <objectVariable xsi:type=\"TGGLanguage:TGGObjectVariable\" name=\"modelNode\" incomingLink=\"//@ownedActivityNode.1/@storyPattern/@linkVariable.0\" bindingState=\"BOUND\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"platform:/plugin/org.moflon.moca.MocaTree/model/MocaTree.ecore#//Node\"/>\r\n        <domain href=\"platform:/resource/BlipTGG/model/BlipTGG.tgg.xmi#//@domain.0\"/>\r\n      </objectVariable>\r\n      <objectVariable xsi:type=\"TGGLanguage:TGGObjectVariable\" name=\"modelAttributeNode\" outgoingLink=\"//@ownedActivityNode.1/@storyPattern/@linkVariable.0 //@ownedActivityNode.1/@storyPattern/@linkVariable.1\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"platform:/plugin/org.moflon.moca.MocaTree/model/MocaTree.ecore#//Node\"/>\r\n        <domain href=\"platform:/resource/BlipTGG/model/BlipTGG.tgg.xmi#//@domain.0\"/>\r\n      </objectVariable>\r\n      <objectVariable xsi:type=\"TGGLanguage:TGGObjectVariable\" name=\"typeAttr\" incomingLink=\"//@ownedActivityNode.1/@storyPattern/@linkVariable.1\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"platform:/plugin/org.moflon.moca.MocaTree/model/MocaTree.ecore#//Attribute\"/>\r\n        <constraint>\r\n          <constraintExpression xsi:type=\"expressions:ComparisonExpression\" operator=\"EQUAL\">\r\n            <rightExpression xsi:type=\"expressions:LiteralExpression\" value=\"&quot;type&quot;\"/>\r\n            <leftExpression xsi:type=\"patternExpressions:AttributeValueExpression\">\r\n              <attribute href=\"platform:/plugin/org.moflon.moca.MocaTree/model/MocaTree.ecore#//TreeElement/name\"/>\r\n            </leftExpression>\r\n          </constraintExpression>\r\n        </constraint>\r\n        <domain href=\"platform:/resource/BlipTGG/model/BlipTGG.tgg.xmi#//@domain.0\"/>\r\n      </objectVariable>\r\n      <objectVariable name=\"ruleresult\" bindingState=\"BOUND\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"http://www.moflon.org.TGGRuntime#//IsAppropriateRuleResult\"/>\r\n      </objectVariable>\r\n      <objectVariable name=\"match\" bindingOperator=\"CREATE\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"http://www.moflon.org.TGGRuntime#//Match\"/>\r\n      </objectVariable>\r\n      <linkVariable xsi:type=\"TGGLanguage:TGGLinkVariable\" name=\"parentNode\" target=\"//@ownedActivityNode.1/@storyPattern/@objectVariable.0\" source=\"//@ownedActivityNode.1/@storyPattern/@objectVariable.1\">\r\n        <domain href=\"platform:/resource/BlipTGG/model/BlipTGG.tgg.xmi#//@domain.0\"/>\r\n      </linkVariable>\r\n      <linkVariable xsi:type=\"TGGLanguage:TGGLinkVariable\" name=\"attribute\" target=\"//@ownedActivityNode.1/@storyPattern/@objectVariable.2\" source=\"//@ownedActivityNode.1/@storyPattern/@objectVariable.1\">\r\n        <domain href=\"platform:/resource/BlipTGG/model/BlipTGG.tgg.xmi#//@domain.0\"/>\r\n      </linkVariable>\r\n      <correspondence href=\"platform:/resource/BlipTGG/model/BlipTGG.tgg.xmi#//@domain.2\"/>\r\n      <source href=\"platform:/resource/BlipTGG/model/BlipTGG.tgg.xmi#//@domain.0\"/>\r\n      <csp>\r\n        <constraints variables=\"//@ownedActivityNode.1/@storyPattern/@csp/@variables.0 //@ownedActivityNode.1/@storyPattern/@csp/@variables.1\" name=\"eq\">\r\n          <allowedAdornments value=\"BB\"/>\r\n          <allowedAdornments value=\"BF\"/>\r\n          <allowedAdornments value=\"FB\"/>\r\n        </constraints>\r\n        <constraints variables=\"//@ownedActivityNode.1/@storyPattern/@csp/@variables.2 //@ownedActivityNode.1/@storyPattern/@csp/@variables.3\" name=\"eq\">\r\n          <allowedAdornments value=\"BB\"/>\r\n          <allowedAdornments value=\"BF\"/>\r\n          <allowedAdornments value=\"FB\"/>\r\n        </constraints>\r\n        <variables xsi:type=\"csp:AttributeVariable\" type=\"String\" attribute=\"name\" objectVariable=\"modelAttributeNode\"/>\r\n        <variables xsi:type=\"csp:AttributeVariable\" type=\"String\" attribute=\"name\" objectVariable=\"blipModelAttribute\"/>\r\n        <variables xsi:type=\"csp:AttributeVariable\" type=\"String\" attribute=\"value\" objectVariable=\"typeAttr\"/>\r\n        <variables xsi:type=\"csp:AttributeVariable\" type=\"String\" attribute=\"type\" objectVariable=\"blipModelAttribute\"/>\r\n      </csp>\r\n      <target href=\"platform:/resource/BlipTGG/model/BlipTGG.tgg.xmi#//@domain.1\"/>\r\n    </storyPattern>\r\n  </ownedActivityNode>\r\n  <ownedActivityNode xsi:type=\"activities:StoryNode\" name=\"set success\" outgoing=\"//@ownedActivityEdge.2\" incoming=\"//@ownedActivityEdge.3\">\r\n    <storyPattern>\r\n      <objectVariable name=\"match\" incomingLink=\"//@ownedActivityNode.2/@storyPattern/@linkVariable.0\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"http://www.moflon.org.TGGRuntime#//Match\"/>\r\n      </objectVariable>\r\n      <objectVariable name=\"ruleresult\" outgoingLink=\"//@ownedActivityNode.2/@storyPattern/@linkVariable.0\" bindingState=\"BOUND\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"http://www.moflon.org.TGGRuntime#//IsAppropriateRuleResult\"/>\r\n        <attributeAssignment>\r\n          <attribute href=\"http://www.moflon.org.TGGRuntime#//RuleResult/success\"/>\r\n          <valueExpression xsi:type=\"expressions:LiteralExpression\" value=\"true\"/>\r\n        </attributeAssignment>\r\n      </objectVariable>\r\n      <linkVariable name=\"matches\" target=\"//@ownedActivityNode.2/@storyPattern/@objectVariable.0\" source=\"//@ownedActivityNode.2/@storyPattern/@objectVariable.1\"/>\r\n    </storyPattern>\r\n  </ownedActivityNode>\r\n  <ownedActivityNode xsi:type=\"activities:StopNode\" incoming=\"//@ownedActivityEdge.2\">\r\n    <returnValue xsi:type=\"patternExpressions:ObjectVariableExpression\" object=\"//@ownedActivityNode.0/@storyPattern/@objectVariable.2\"/>\r\n  </ownedActivityNode>\r\n  <ownedActivityNode xsi:type=\"activities:StartNode\" outgoing=\"//@ownedActivityEdge.0\"/>\r\n  <ownedActivityNode xsi:type=\"activities:StatementNode\" name=\"bookkeeping with generic isAppropriate method\" outgoing=\"//@ownedActivityEdge.5 //@ownedActivityEdge.6\" incoming=\"//@ownedActivityEdge.1\">\r\n    <statementExpression xsi:type=\"callExpressions:MethodCallExpression\">\r\n      <ownedParameterBindings>\r\n        <valueExpression xsi:type=\"expressions:TextualExpression\" expressionText=\"match\"/>\r\n        <parameter href=\"http://www.moflon.org.BlipTGG#//Rules/MModelAttributeToModelAttributeRule/isAppropriate_FWD/match\"/>\r\n      </ownedParameterBindings>\r\n      <ownedParameterBindings>\r\n        <valueExpression xsi:type=\"expressions:TextualExpression\" expressionText=\"modelNode\"/>\r\n        <parameter href=\"http://www.moflon.org.BlipTGG#//Rules/MModelAttributeToModelAttributeRule/isAppropriate_FWD/modelNode\"/>\r\n      </ownedParameterBindings>\r\n      <ownedParameterBindings>\r\n        <valueExpression xsi:type=\"expressions:TextualExpression\" expressionText=\"modelAttributeNode\"/>\r\n        <parameter href=\"http://www.moflon.org.BlipTGG#//Rules/MModelAttributeToModelAttributeRule/isAppropriate_FWD/modelAttributeNode\"/>\r\n      </ownedParameterBindings>\r\n      <ownedParameterBindings>\r\n        <valueExpression xsi:type=\"expressions:TextualExpression\" expressionText=\"typeAttr\"/>\r\n        <parameter href=\"http://www.moflon.org.BlipTGG#//Rules/MModelAttributeToModelAttributeRule/isAppropriate_FWD/typeAttr\"/>\r\n      </ownedParameterBindings>\r\n      <callee href=\"http://www.moflon.org.BlipTGG#//Rules/MModelAttributeToModelAttributeRule/isAppropriate_FWD\"/>\r\n      <target xsi:type=\"patternExpressions:ObjectVariableExpression\" object=\"//@ownedActivityNode.0/@storyPattern/@objectVariable.1\"/>\r\n    </statementExpression>\r\n  </ownedActivityNode>\r\n  <ownedActivityNode xsi:type=\"activities:StoryNode\" name=\"Add match to rule result\" outgoing=\"//@ownedActivityEdge.7\" incoming=\"//@ownedActivityEdge.6\">\r\n    <storyPattern>\r\n      <objectVariable name=\"match\" incomingLink=\"//@ownedActivityNode.6/@storyPattern/@linkVariable.0\" bindingState=\"BOUND\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"http://www.moflon.org.TGGRuntime#//Match\"/>\r\n      </objectVariable>\r\n      <objectVariable name=\"ruleresult\" outgoingLink=\"//@ownedActivityNode.6/@storyPattern/@linkVariable.0\" bindingState=\"BOUND\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"http://www.moflon.org.TGGRuntime#//IsAppropriateRuleResult\"/>\r\n      </objectVariable>\r\n      <linkVariable name=\"matches\" target=\"//@ownedActivityNode.6/@storyPattern/@objectVariable.0\" source=\"//@ownedActivityNode.6/@storyPattern/@objectVariable.1\" bindingOperator=\"CREATE\"/>\r\n    </storyPattern>\r\n  </ownedActivityNode>\r\n  <ownedActivityEdge source=\"//@ownedActivityNode.4\" target=\"//@ownedActivityNode.0\"/>\r\n  <ownedActivityEdge source=\"//@ownedActivityNode.1\" target=\"//@ownedActivityNode.5\" guard=\"EACH_TIME\"/>\r\n  <ownedActivityEdge source=\"//@ownedActivityNode.2\" target=\"//@ownedActivityNode.3\"/>\r\n  <ownedActivityEdge source=\"//@ownedActivityNode.1\" target=\"//@ownedActivityNode.2\" guard=\"END\"/>\r\n  <ownedActivityEdge source=\"//@ownedActivityNode.0\" target=\"//@ownedActivityNode.1\"/>\r\n  <ownedActivityEdge source=\"//@ownedActivityNode.5\" target=\"//@ownedActivityNode.1\" guard=\"FAILURE\"/>\r\n  <ownedActivityEdge source=\"//@ownedActivityNode.5\" target=\"//@ownedActivityNode.6\" guard=\"SUCCESS\"/>\r\n  <ownedActivityEdge source=\"//@ownedActivityNode.6\" target=\"//@ownedActivityNode.1\"/>\r\n</activities:Activity>\r\n" });
		addAnnotation(
				getMModelAttributeToModelAttributeRule__IsAppropriate_FWD_Node_2__Node(),
				source,
				new String[] {
						"XMI",
						"<?xml version=\"1.0\" encoding=\"UTF-8\"?>\r\n<activities:Activity xmi:version=\"2.0\" xmlns:xmi=\"http://www.omg.org/XMI\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:TGGLanguage=\"http://www.moflon.org.TGGLanguage\" xmlns:activities=\"http://www.moflon.org.SDMLanguage.activities\" xmlns:callExpressions=\"http://www.moflon.org.SDMLanguage.calls.callExpressions\" xmlns:csp=\"http://www.moflon.org.TGGLanguage.csp\" xmlns:ecore=\"http://www.eclipse.org/emf/2002/Ecore\" xmlns:expressions=\"http://www.moflon.org.SDMLanguage.expressions\" xmlns:patternExpressions=\"http://www.moflon.org.SDMLanguage.patterns.patternExpressions\">\r\n  <ownedActivityNode xsi:type=\"activities:StoryNode\" name=\"prepare return value\" outgoing=\"//@ownedActivityEdge.4\" incoming=\"//@ownedActivityEdge.0\">\r\n    <storyPattern>\r\n      <objectVariable name=\"performOperation\" incomingLink=\"//@ownedActivityNode.0/@storyPattern/@linkVariable.1 //@ownedActivityNode.0/@storyPattern/@linkVariable.0\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"http://www.eclipse.org/emf/2002/Ecore#//EOperation\"/>\r\n        <constraint>\r\n          <constraintExpression xsi:type=\"expressions:ComparisonExpression\" operator=\"EQUAL\">\r\n            <rightExpression xsi:type=\"expressions:LiteralExpression\" value=\"&quot;isApplicable_FWD&quot;\"/>\r\n            <leftExpression xsi:type=\"patternExpressions:AttributeValueExpression\" object=\"//@ownedActivityNode.0/@storyPattern/@objectVariable.0\">\r\n              <attribute href=\"http://www.eclipse.org/emf/2002/Ecore#//ENamedElement/name\"/>\r\n            </leftExpression>\r\n          </constraintExpression>\r\n        </constraint>\r\n      </objectVariable>\r\n      <objectVariable name=\"this\" bindingState=\"BOUND\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"http://www.moflon.org.BlipTGG#//Rules/MModelAttributeToModelAttributeRule\"/>\r\n      </objectVariable>\r\n      <objectVariable name=\"ruleresult\" outgoingLink=\"//@ownedActivityNode.0/@storyPattern/@linkVariable.0\" bindingOperator=\"CREATE\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"http://www.moflon.org.TGGRuntime#//IsAppropriateRuleResult\"/>\r\n        <attributeAssignment>\r\n          <attribute href=\"http://www.moflon.org.TGGRuntime#//RuleResult/success\"/>\r\n          <valueExpression xsi:type=\"expressions:LiteralExpression\" value=\"false\"/>\r\n        </attributeAssignment>\r\n      </objectVariable>\r\n      <objectVariable name=\"eClass\" outgoingLink=\"//@ownedActivityNode.0/@storyPattern/@linkVariable.1\" bindingState=\"BOUND\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"http://www.eclipse.org/emf/2002/Ecore#//EClass\"/>\r\n        <bindingExpression xsi:type=\"expressions:LiteralExpression\" value=\"this.eClass()\"/>\r\n      </objectVariable>\r\n      <linkVariable name=\"performOperation\" target=\"//@ownedActivityNode.0/@storyPattern/@objectVariable.0\" source=\"//@ownedActivityNode.0/@storyPattern/@objectVariable.2\" bindingOperator=\"CREATE\"/>\r\n      <linkVariable name=\"eOperations\" target=\"//@ownedActivityNode.0/@storyPattern/@objectVariable.0\" source=\"//@ownedActivityNode.0/@storyPattern/@objectVariable.3\"/>\r\n    </storyPattern>\r\n  </ownedActivityNode>\r\n  <ownedActivityNode xsi:type=\"activities:StoryNode\" name=\"test core match\" outgoing=\"//@ownedActivityEdge.3 //@ownedActivityEdge.1\" incoming=\"//@ownedActivityEdge.4 //@ownedActivityEdge.5 //@ownedActivityEdge.7\" forEach=\"true\">\r\n    <storyPattern xsi:type=\"TGGLanguage:TGGRule\" name=\"MModelAttributeToModelAttributeRule\" cspSpec=\"&#xD;&#xA;&#x9;&#x9;eq(modelAttributeNode.name, blipModelAttribute.name)&#xD;&#xA;&#x9;&#x9;eq(typeAttr.value, blipModelAttribute.type)&#xD;&#xA;&#x9;\">\r\n      <objectVariable xsi:type=\"TGGLanguage:TGGObjectVariable\" name=\"modelNode\" incomingLink=\"//@ownedActivityNode.1/@storyPattern/@linkVariable.0\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"platform:/plugin/org.moflon.moca.MocaTree/model/MocaTree.ecore#//Node\"/>\r\n        <domain href=\"platform:/resource/BlipTGG/model/BlipTGG.tgg.xmi#//@domain.0\"/>\r\n      </objectVariable>\r\n      <objectVariable xsi:type=\"TGGLanguage:TGGObjectVariable\" name=\"modelAttributeNode\" outgoingLink=\"//@ownedActivityNode.1/@storyPattern/@linkVariable.0 //@ownedActivityNode.1/@storyPattern/@linkVariable.1\" bindingState=\"BOUND\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"platform:/plugin/org.moflon.moca.MocaTree/model/MocaTree.ecore#//Node\"/>\r\n        <domain href=\"platform:/resource/BlipTGG/model/BlipTGG.tgg.xmi#//@domain.0\"/>\r\n      </objectVariable>\r\n      <objectVariable xsi:type=\"TGGLanguage:TGGObjectVariable\" name=\"typeAttr\" incomingLink=\"//@ownedActivityNode.1/@storyPattern/@linkVariable.1\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"platform:/plugin/org.moflon.moca.MocaTree/model/MocaTree.ecore#//Attribute\"/>\r\n        <constraint>\r\n          <constraintExpression xsi:type=\"expressions:ComparisonExpression\" operator=\"EQUAL\">\r\n            <rightExpression xsi:type=\"expressions:LiteralExpression\" value=\"&quot;type&quot;\"/>\r\n            <leftExpression xsi:type=\"patternExpressions:AttributeValueExpression\">\r\n              <attribute href=\"platform:/plugin/org.moflon.moca.MocaTree/model/MocaTree.ecore#//TreeElement/name\"/>\r\n            </leftExpression>\r\n          </constraintExpression>\r\n        </constraint>\r\n        <domain href=\"platform:/resource/BlipTGG/model/BlipTGG.tgg.xmi#//@domain.0\"/>\r\n      </objectVariable>\r\n      <objectVariable name=\"ruleresult\" bindingState=\"BOUND\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"http://www.moflon.org.TGGRuntime#//IsAppropriateRuleResult\"/>\r\n      </objectVariable>\r\n      <objectVariable name=\"match\" bindingOperator=\"CREATE\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"http://www.moflon.org.TGGRuntime#//Match\"/>\r\n      </objectVariable>\r\n      <linkVariable xsi:type=\"TGGLanguage:TGGLinkVariable\" name=\"parentNode\" target=\"//@ownedActivityNode.1/@storyPattern/@objectVariable.0\" source=\"//@ownedActivityNode.1/@storyPattern/@objectVariable.1\">\r\n        <domain href=\"platform:/resource/BlipTGG/model/BlipTGG.tgg.xmi#//@domain.0\"/>\r\n      </linkVariable>\r\n      <linkVariable xsi:type=\"TGGLanguage:TGGLinkVariable\" name=\"attribute\" target=\"//@ownedActivityNode.1/@storyPattern/@objectVariable.2\" source=\"//@ownedActivityNode.1/@storyPattern/@objectVariable.1\">\r\n        <domain href=\"platform:/resource/BlipTGG/model/BlipTGG.tgg.xmi#//@domain.0\"/>\r\n      </linkVariable>\r\n      <correspondence href=\"platform:/resource/BlipTGG/model/BlipTGG.tgg.xmi#//@domain.2\"/>\r\n      <source href=\"platform:/resource/BlipTGG/model/BlipTGG.tgg.xmi#//@domain.0\"/>\r\n      <csp>\r\n        <constraints variables=\"//@ownedActivityNode.1/@storyPattern/@csp/@variables.0 //@ownedActivityNode.1/@storyPattern/@csp/@variables.1\" name=\"eq\">\r\n          <allowedAdornments value=\"BB\"/>\r\n          <allowedAdornments value=\"BF\"/>\r\n          <allowedAdornments value=\"FB\"/>\r\n        </constraints>\r\n        <constraints variables=\"//@ownedActivityNode.1/@storyPattern/@csp/@variables.2 //@ownedActivityNode.1/@storyPattern/@csp/@variables.3\" name=\"eq\">\r\n          <allowedAdornments value=\"BB\"/>\r\n          <allowedAdornments value=\"BF\"/>\r\n          <allowedAdornments value=\"FB\"/>\r\n        </constraints>\r\n        <variables xsi:type=\"csp:AttributeVariable\" type=\"String\" attribute=\"name\" objectVariable=\"modelAttributeNode\"/>\r\n        <variables xsi:type=\"csp:AttributeVariable\" type=\"String\" attribute=\"name\" objectVariable=\"blipModelAttribute\"/>\r\n        <variables xsi:type=\"csp:AttributeVariable\" type=\"String\" attribute=\"value\" objectVariable=\"typeAttr\"/>\r\n        <variables xsi:type=\"csp:AttributeVariable\" type=\"String\" attribute=\"type\" objectVariable=\"blipModelAttribute\"/>\r\n      </csp>\r\n      <target href=\"platform:/resource/BlipTGG/model/BlipTGG.tgg.xmi#//@domain.1\"/>\r\n    </storyPattern>\r\n  </ownedActivityNode>\r\n  <ownedActivityNode xsi:type=\"activities:StoryNode\" name=\"set success\" outgoing=\"//@ownedActivityEdge.2\" incoming=\"//@ownedActivityEdge.3\">\r\n    <storyPattern>\r\n      <objectVariable name=\"match\" incomingLink=\"//@ownedActivityNode.2/@storyPattern/@linkVariable.0\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"http://www.moflon.org.TGGRuntime#//Match\"/>\r\n      </objectVariable>\r\n      <objectVariable name=\"ruleresult\" outgoingLink=\"//@ownedActivityNode.2/@storyPattern/@linkVariable.0\" bindingState=\"BOUND\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"http://www.moflon.org.TGGRuntime#//IsAppropriateRuleResult\"/>\r\n        <attributeAssignment>\r\n          <attribute href=\"http://www.moflon.org.TGGRuntime#//RuleResult/success\"/>\r\n          <valueExpression xsi:type=\"expressions:LiteralExpression\" value=\"true\"/>\r\n        </attributeAssignment>\r\n      </objectVariable>\r\n      <linkVariable name=\"matches\" target=\"//@ownedActivityNode.2/@storyPattern/@objectVariable.0\" source=\"//@ownedActivityNode.2/@storyPattern/@objectVariable.1\"/>\r\n    </storyPattern>\r\n  </ownedActivityNode>\r\n  <ownedActivityNode xsi:type=\"activities:StopNode\" incoming=\"//@ownedActivityEdge.2\">\r\n    <returnValue xsi:type=\"patternExpressions:ObjectVariableExpression\" object=\"//@ownedActivityNode.0/@storyPattern/@objectVariable.2\"/>\r\n  </ownedActivityNode>\r\n  <ownedActivityNode xsi:type=\"activities:StartNode\" outgoing=\"//@ownedActivityEdge.0\"/>\r\n  <ownedActivityNode xsi:type=\"activities:StatementNode\" name=\"bookkeeping with generic isAppropriate method\" outgoing=\"//@ownedActivityEdge.5 //@ownedActivityEdge.6\" incoming=\"//@ownedActivityEdge.1\">\r\n    <statementExpression xsi:type=\"callExpressions:MethodCallExpression\">\r\n      <ownedParameterBindings>\r\n        <valueExpression xsi:type=\"expressions:TextualExpression\" expressionText=\"match\"/>\r\n        <parameter href=\"http://www.moflon.org.BlipTGG#//Rules/MModelAttributeToModelAttributeRule/isAppropriate_FWD/match\"/>\r\n      </ownedParameterBindings>\r\n      <ownedParameterBindings>\r\n        <valueExpression xsi:type=\"expressions:TextualExpression\" expressionText=\"modelNode\"/>\r\n        <parameter href=\"http://www.moflon.org.BlipTGG#//Rules/MModelAttributeToModelAttributeRule/isAppropriate_FWD/modelNode\"/>\r\n      </ownedParameterBindings>\r\n      <ownedParameterBindings>\r\n        <valueExpression xsi:type=\"expressions:TextualExpression\" expressionText=\"modelAttributeNode\"/>\r\n        <parameter href=\"http://www.moflon.org.BlipTGG#//Rules/MModelAttributeToModelAttributeRule/isAppropriate_FWD/modelAttributeNode\"/>\r\n      </ownedParameterBindings>\r\n      <ownedParameterBindings>\r\n        <valueExpression xsi:type=\"expressions:TextualExpression\" expressionText=\"typeAttr\"/>\r\n        <parameter href=\"http://www.moflon.org.BlipTGG#//Rules/MModelAttributeToModelAttributeRule/isAppropriate_FWD/typeAttr\"/>\r\n      </ownedParameterBindings>\r\n      <callee href=\"http://www.moflon.org.BlipTGG#//Rules/MModelAttributeToModelAttributeRule/isAppropriate_FWD\"/>\r\n      <target xsi:type=\"patternExpressions:ObjectVariableExpression\" object=\"//@ownedActivityNode.0/@storyPattern/@objectVariable.1\"/>\r\n    </statementExpression>\r\n  </ownedActivityNode>\r\n  <ownedActivityNode xsi:type=\"activities:StoryNode\" name=\"Add match to rule result\" outgoing=\"//@ownedActivityEdge.7\" incoming=\"//@ownedActivityEdge.6\">\r\n    <storyPattern>\r\n      <objectVariable name=\"match\" incomingLink=\"//@ownedActivityNode.6/@storyPattern/@linkVariable.0\" bindingState=\"BOUND\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"http://www.moflon.org.TGGRuntime#//Match\"/>\r\n      </objectVariable>\r\n      <objectVariable name=\"ruleresult\" outgoingLink=\"//@ownedActivityNode.6/@storyPattern/@linkVariable.0\" bindingState=\"BOUND\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"http://www.moflon.org.TGGRuntime#//IsAppropriateRuleResult\"/>\r\n      </objectVariable>\r\n      <linkVariable name=\"matches\" target=\"//@ownedActivityNode.6/@storyPattern/@objectVariable.0\" source=\"//@ownedActivityNode.6/@storyPattern/@objectVariable.1\" bindingOperator=\"CREATE\"/>\r\n    </storyPattern>\r\n  </ownedActivityNode>\r\n  <ownedActivityEdge source=\"//@ownedActivityNode.4\" target=\"//@ownedActivityNode.0\"/>\r\n  <ownedActivityEdge source=\"//@ownedActivityNode.1\" target=\"//@ownedActivityNode.5\" guard=\"EACH_TIME\"/>\r\n  <ownedActivityEdge source=\"//@ownedActivityNode.2\" target=\"//@ownedActivityNode.3\"/>\r\n  <ownedActivityEdge source=\"//@ownedActivityNode.1\" target=\"//@ownedActivityNode.2\" guard=\"END\"/>\r\n  <ownedActivityEdge source=\"//@ownedActivityNode.0\" target=\"//@ownedActivityNode.1\"/>\r\n  <ownedActivityEdge source=\"//@ownedActivityNode.5\" target=\"//@ownedActivityNode.1\" guard=\"FAILURE\"/>\r\n  <ownedActivityEdge source=\"//@ownedActivityNode.5\" target=\"//@ownedActivityNode.6\" guard=\"SUCCESS\"/>\r\n  <ownedActivityEdge source=\"//@ownedActivityNode.6\" target=\"//@ownedActivityNode.1\"/>\r\n</activities:Activity>\r\n" });
		addAnnotation(
				getMModelAttributeToModelAttributeRule__IsAppropriate_FWD_Attribute_4__Attribute(),
				source,
				new String[] {
						"XMI",
						"<?xml version=\"1.0\" encoding=\"UTF-8\"?>\r\n<activities:Activity xmi:version=\"2.0\" xmlns:xmi=\"http://www.omg.org/XMI\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:TGGLanguage=\"http://www.moflon.org.TGGLanguage\" xmlns:activities=\"http://www.moflon.org.SDMLanguage.activities\" xmlns:callExpressions=\"http://www.moflon.org.SDMLanguage.calls.callExpressions\" xmlns:csp=\"http://www.moflon.org.TGGLanguage.csp\" xmlns:ecore=\"http://www.eclipse.org/emf/2002/Ecore\" xmlns:expressions=\"http://www.moflon.org.SDMLanguage.expressions\" xmlns:patternExpressions=\"http://www.moflon.org.SDMLanguage.patterns.patternExpressions\">\r\n  <ownedActivityNode xsi:type=\"activities:StoryNode\" name=\"prepare return value\" outgoing=\"//@ownedActivityEdge.4\" incoming=\"//@ownedActivityEdge.0\">\r\n    <storyPattern>\r\n      <objectVariable name=\"performOperation\" incomingLink=\"//@ownedActivityNode.0/@storyPattern/@linkVariable.1 //@ownedActivityNode.0/@storyPattern/@linkVariable.0\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"http://www.eclipse.org/emf/2002/Ecore#//EOperation\"/>\r\n        <constraint>\r\n          <constraintExpression xsi:type=\"expressions:ComparisonExpression\" operator=\"EQUAL\">\r\n            <rightExpression xsi:type=\"expressions:LiteralExpression\" value=\"&quot;isApplicable_FWD&quot;\"/>\r\n            <leftExpression xsi:type=\"patternExpressions:AttributeValueExpression\" object=\"//@ownedActivityNode.0/@storyPattern/@objectVariable.0\">\r\n              <attribute href=\"http://www.eclipse.org/emf/2002/Ecore#//ENamedElement/name\"/>\r\n            </leftExpression>\r\n          </constraintExpression>\r\n        </constraint>\r\n      </objectVariable>\r\n      <objectVariable name=\"this\" bindingState=\"BOUND\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"http://www.moflon.org.BlipTGG#//Rules/MModelAttributeToModelAttributeRule\"/>\r\n      </objectVariable>\r\n      <objectVariable name=\"ruleresult\" outgoingLink=\"//@ownedActivityNode.0/@storyPattern/@linkVariable.0\" bindingOperator=\"CREATE\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"http://www.moflon.org.TGGRuntime#//IsAppropriateRuleResult\"/>\r\n        <attributeAssignment>\r\n          <attribute href=\"http://www.moflon.org.TGGRuntime#//RuleResult/success\"/>\r\n          <valueExpression xsi:type=\"expressions:LiteralExpression\" value=\"false\"/>\r\n        </attributeAssignment>\r\n      </objectVariable>\r\n      <objectVariable name=\"eClass\" outgoingLink=\"//@ownedActivityNode.0/@storyPattern/@linkVariable.1\" bindingState=\"BOUND\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"http://www.eclipse.org/emf/2002/Ecore#//EClass\"/>\r\n        <bindingExpression xsi:type=\"expressions:LiteralExpression\" value=\"this.eClass()\"/>\r\n      </objectVariable>\r\n      <linkVariable name=\"performOperation\" target=\"//@ownedActivityNode.0/@storyPattern/@objectVariable.0\" source=\"//@ownedActivityNode.0/@storyPattern/@objectVariable.2\" bindingOperator=\"CREATE\"/>\r\n      <linkVariable name=\"eOperations\" target=\"//@ownedActivityNode.0/@storyPattern/@objectVariable.0\" source=\"//@ownedActivityNode.0/@storyPattern/@objectVariable.3\"/>\r\n    </storyPattern>\r\n  </ownedActivityNode>\r\n  <ownedActivityNode xsi:type=\"activities:StoryNode\" name=\"test core match\" outgoing=\"//@ownedActivityEdge.3 //@ownedActivityEdge.1\" incoming=\"//@ownedActivityEdge.4 //@ownedActivityEdge.5 //@ownedActivityEdge.7\" forEach=\"true\">\r\n    <storyPattern xsi:type=\"TGGLanguage:TGGRule\" name=\"MModelAttributeToModelAttributeRule\" cspSpec=\"&#xD;&#xA;&#x9;&#x9;eq(modelAttributeNode.name, blipModelAttribute.name)&#xD;&#xA;&#x9;&#x9;eq(typeAttr.value, blipModelAttribute.type)&#xD;&#xA;&#x9;\">\r\n      <objectVariable xsi:type=\"TGGLanguage:TGGObjectVariable\" name=\"modelNode\" incomingLink=\"//@ownedActivityNode.1/@storyPattern/@linkVariable.0\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"platform:/plugin/org.moflon.moca.MocaTree/model/MocaTree.ecore#//Node\"/>\r\n        <domain href=\"platform:/resource/BlipTGG/model/BlipTGG.tgg.xmi#//@domain.0\"/>\r\n      </objectVariable>\r\n      <objectVariable xsi:type=\"TGGLanguage:TGGObjectVariable\" name=\"modelAttributeNode\" outgoingLink=\"//@ownedActivityNode.1/@storyPattern/@linkVariable.0 //@ownedActivityNode.1/@storyPattern/@linkVariable.1\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"platform:/plugin/org.moflon.moca.MocaTree/model/MocaTree.ecore#//Node\"/>\r\n        <domain href=\"platform:/resource/BlipTGG/model/BlipTGG.tgg.xmi#//@domain.0\"/>\r\n      </objectVariable>\r\n      <objectVariable xsi:type=\"TGGLanguage:TGGObjectVariable\" name=\"typeAttr\" incomingLink=\"//@ownedActivityNode.1/@storyPattern/@linkVariable.1\" bindingState=\"BOUND\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"platform:/plugin/org.moflon.moca.MocaTree/model/MocaTree.ecore#//Attribute\"/>\r\n        <constraint>\r\n          <constraintExpression xsi:type=\"expressions:ComparisonExpression\" operator=\"EQUAL\">\r\n            <rightExpression xsi:type=\"expressions:LiteralExpression\" value=\"&quot;type&quot;\"/>\r\n            <leftExpression xsi:type=\"patternExpressions:AttributeValueExpression\">\r\n              <attribute href=\"platform:/plugin/org.moflon.moca.MocaTree/model/MocaTree.ecore#//TreeElement/name\"/>\r\n            </leftExpression>\r\n          </constraintExpression>\r\n        </constraint>\r\n        <domain href=\"platform:/resource/BlipTGG/model/BlipTGG.tgg.xmi#//@domain.0\"/>\r\n      </objectVariable>\r\n      <objectVariable name=\"ruleresult\" bindingState=\"BOUND\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"http://www.moflon.org.TGGRuntime#//IsAppropriateRuleResult\"/>\r\n      </objectVariable>\r\n      <objectVariable name=\"match\" bindingOperator=\"CREATE\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"http://www.moflon.org.TGGRuntime#//Match\"/>\r\n      </objectVariable>\r\n      <linkVariable xsi:type=\"TGGLanguage:TGGLinkVariable\" name=\"parentNode\" target=\"//@ownedActivityNode.1/@storyPattern/@objectVariable.0\" source=\"//@ownedActivityNode.1/@storyPattern/@objectVariable.1\">\r\n        <domain href=\"platform:/resource/BlipTGG/model/BlipTGG.tgg.xmi#//@domain.0\"/>\r\n      </linkVariable>\r\n      <linkVariable xsi:type=\"TGGLanguage:TGGLinkVariable\" name=\"attribute\" target=\"//@ownedActivityNode.1/@storyPattern/@objectVariable.2\" source=\"//@ownedActivityNode.1/@storyPattern/@objectVariable.1\">\r\n        <domain href=\"platform:/resource/BlipTGG/model/BlipTGG.tgg.xmi#//@domain.0\"/>\r\n      </linkVariable>\r\n      <correspondence href=\"platform:/resource/BlipTGG/model/BlipTGG.tgg.xmi#//@domain.2\"/>\r\n      <source href=\"platform:/resource/BlipTGG/model/BlipTGG.tgg.xmi#//@domain.0\"/>\r\n      <csp>\r\n        <constraints variables=\"//@ownedActivityNode.1/@storyPattern/@csp/@variables.0 //@ownedActivityNode.1/@storyPattern/@csp/@variables.1\" name=\"eq\">\r\n          <allowedAdornments value=\"BB\"/>\r\n          <allowedAdornments value=\"BF\"/>\r\n          <allowedAdornments value=\"FB\"/>\r\n        </constraints>\r\n        <constraints variables=\"//@ownedActivityNode.1/@storyPattern/@csp/@variables.2 //@ownedActivityNode.1/@storyPattern/@csp/@variables.3\" name=\"eq\">\r\n          <allowedAdornments value=\"BB\"/>\r\n          <allowedAdornments value=\"BF\"/>\r\n          <allowedAdornments value=\"FB\"/>\r\n        </constraints>\r\n        <variables xsi:type=\"csp:AttributeVariable\" type=\"String\" attribute=\"name\" objectVariable=\"modelAttributeNode\"/>\r\n        <variables xsi:type=\"csp:AttributeVariable\" type=\"String\" attribute=\"name\" objectVariable=\"blipModelAttribute\"/>\r\n        <variables xsi:type=\"csp:AttributeVariable\" type=\"String\" attribute=\"value\" objectVariable=\"typeAttr\"/>\r\n        <variables xsi:type=\"csp:AttributeVariable\" type=\"String\" attribute=\"type\" objectVariable=\"blipModelAttribute\"/>\r\n      </csp>\r\n      <target href=\"platform:/resource/BlipTGG/model/BlipTGG.tgg.xmi#//@domain.1\"/>\r\n    </storyPattern>\r\n  </ownedActivityNode>\r\n  <ownedActivityNode xsi:type=\"activities:StoryNode\" name=\"set success\" outgoing=\"//@ownedActivityEdge.2\" incoming=\"//@ownedActivityEdge.3\">\r\n    <storyPattern>\r\n      <objectVariable name=\"match\" incomingLink=\"//@ownedActivityNode.2/@storyPattern/@linkVariable.0\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"http://www.moflon.org.TGGRuntime#//Match\"/>\r\n      </objectVariable>\r\n      <objectVariable name=\"ruleresult\" outgoingLink=\"//@ownedActivityNode.2/@storyPattern/@linkVariable.0\" bindingState=\"BOUND\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"http://www.moflon.org.TGGRuntime#//IsAppropriateRuleResult\"/>\r\n        <attributeAssignment>\r\n          <attribute href=\"http://www.moflon.org.TGGRuntime#//RuleResult/success\"/>\r\n          <valueExpression xsi:type=\"expressions:LiteralExpression\" value=\"true\"/>\r\n        </attributeAssignment>\r\n      </objectVariable>\r\n      <linkVariable name=\"matches\" target=\"//@ownedActivityNode.2/@storyPattern/@objectVariable.0\" source=\"//@ownedActivityNode.2/@storyPattern/@objectVariable.1\"/>\r\n    </storyPattern>\r\n  </ownedActivityNode>\r\n  <ownedActivityNode xsi:type=\"activities:StopNode\" incoming=\"//@ownedActivityEdge.2\">\r\n    <returnValue xsi:type=\"patternExpressions:ObjectVariableExpression\" object=\"//@ownedActivityNode.0/@storyPattern/@objectVariable.2\"/>\r\n  </ownedActivityNode>\r\n  <ownedActivityNode xsi:type=\"activities:StartNode\" outgoing=\"//@ownedActivityEdge.0\"/>\r\n  <ownedActivityNode xsi:type=\"activities:StatementNode\" name=\"bookkeeping with generic isAppropriate method\" outgoing=\"//@ownedActivityEdge.5 //@ownedActivityEdge.6\" incoming=\"//@ownedActivityEdge.1\">\r\n    <statementExpression xsi:type=\"callExpressions:MethodCallExpression\">\r\n      <ownedParameterBindings>\r\n        <valueExpression xsi:type=\"expressions:TextualExpression\" expressionText=\"match\"/>\r\n        <parameter href=\"http://www.moflon.org.BlipTGG#//Rules/MModelAttributeToModelAttributeRule/isAppropriate_FWD/match\"/>\r\n      </ownedParameterBindings>\r\n      <ownedParameterBindings>\r\n        <valueExpression xsi:type=\"expressions:TextualExpression\" expressionText=\"modelNode\"/>\r\n        <parameter href=\"http://www.moflon.org.BlipTGG#//Rules/MModelAttributeToModelAttributeRule/isAppropriate_FWD/modelNode\"/>\r\n      </ownedParameterBindings>\r\n      <ownedParameterBindings>\r\n        <valueExpression xsi:type=\"expressions:TextualExpression\" expressionText=\"modelAttributeNode\"/>\r\n        <parameter href=\"http://www.moflon.org.BlipTGG#//Rules/MModelAttributeToModelAttributeRule/isAppropriate_FWD/modelAttributeNode\"/>\r\n      </ownedParameterBindings>\r\n      <ownedParameterBindings>\r\n        <valueExpression xsi:type=\"expressions:TextualExpression\" expressionText=\"typeAttr\"/>\r\n        <parameter href=\"http://www.moflon.org.BlipTGG#//Rules/MModelAttributeToModelAttributeRule/isAppropriate_FWD/typeAttr\"/>\r\n      </ownedParameterBindings>\r\n      <callee href=\"http://www.moflon.org.BlipTGG#//Rules/MModelAttributeToModelAttributeRule/isAppropriate_FWD\"/>\r\n      <target xsi:type=\"patternExpressions:ObjectVariableExpression\" object=\"//@ownedActivityNode.0/@storyPattern/@objectVariable.1\"/>\r\n    </statementExpression>\r\n  </ownedActivityNode>\r\n  <ownedActivityNode xsi:type=\"activities:StoryNode\" name=\"Add match to rule result\" outgoing=\"//@ownedActivityEdge.7\" incoming=\"//@ownedActivityEdge.6\">\r\n    <storyPattern>\r\n      <objectVariable name=\"match\" incomingLink=\"//@ownedActivityNode.6/@storyPattern/@linkVariable.0\" bindingState=\"BOUND\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"http://www.moflon.org.TGGRuntime#//Match\"/>\r\n      </objectVariable>\r\n      <objectVariable name=\"ruleresult\" outgoingLink=\"//@ownedActivityNode.6/@storyPattern/@linkVariable.0\" bindingState=\"BOUND\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"http://www.moflon.org.TGGRuntime#//IsAppropriateRuleResult\"/>\r\n      </objectVariable>\r\n      <linkVariable name=\"matches\" target=\"//@ownedActivityNode.6/@storyPattern/@objectVariable.0\" source=\"//@ownedActivityNode.6/@storyPattern/@objectVariable.1\" bindingOperator=\"CREATE\"/>\r\n    </storyPattern>\r\n  </ownedActivityNode>\r\n  <ownedActivityEdge source=\"//@ownedActivityNode.4\" target=\"//@ownedActivityNode.0\"/>\r\n  <ownedActivityEdge source=\"//@ownedActivityNode.1\" target=\"//@ownedActivityNode.5\" guard=\"EACH_TIME\"/>\r\n  <ownedActivityEdge source=\"//@ownedActivityNode.2\" target=\"//@ownedActivityNode.3\"/>\r\n  <ownedActivityEdge source=\"//@ownedActivityNode.1\" target=\"//@ownedActivityNode.2\" guard=\"END\"/>\r\n  <ownedActivityEdge source=\"//@ownedActivityNode.0\" target=\"//@ownedActivityNode.1\"/>\r\n  <ownedActivityEdge source=\"//@ownedActivityNode.5\" target=\"//@ownedActivityNode.1\" guard=\"FAILURE\"/>\r\n  <ownedActivityEdge source=\"//@ownedActivityNode.5\" target=\"//@ownedActivityNode.6\" guard=\"SUCCESS\"/>\r\n  <ownedActivityEdge source=\"//@ownedActivityNode.6\" target=\"//@ownedActivityNode.1\"/>\r\n</activities:Activity>\r\n" });
		addAnnotation(
				getMModelAttributeToModelAttributeRule__IsAppropriate_BWD_BlipModel_0__BlipModel(),
				source,
				new String[] {
						"XMI",
						"<?xml version=\"1.0\" encoding=\"UTF-8\"?>\r\n<activities:Activity xmi:version=\"2.0\" xmlns:xmi=\"http://www.omg.org/XMI\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:TGGLanguage=\"http://www.moflon.org.TGGLanguage\" xmlns:activities=\"http://www.moflon.org.SDMLanguage.activities\" xmlns:callExpressions=\"http://www.moflon.org.SDMLanguage.calls.callExpressions\" xmlns:csp=\"http://www.moflon.org.TGGLanguage.csp\" xmlns:ecore=\"http://www.eclipse.org/emf/2002/Ecore\" xmlns:expressions=\"http://www.moflon.org.SDMLanguage.expressions\" xmlns:patternExpressions=\"http://www.moflon.org.SDMLanguage.patterns.patternExpressions\">\r\n  <ownedActivityNode xsi:type=\"activities:StoryNode\" name=\"prepare return value\" outgoing=\"//@ownedActivityEdge.4\" incoming=\"//@ownedActivityEdge.0\">\r\n    <storyPattern>\r\n      <objectVariable name=\"performOperation\" incomingLink=\"//@ownedActivityNode.0/@storyPattern/@linkVariable.1 //@ownedActivityNode.0/@storyPattern/@linkVariable.0\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"http://www.eclipse.org/emf/2002/Ecore#//EOperation\"/>\r\n        <constraint>\r\n          <constraintExpression xsi:type=\"expressions:ComparisonExpression\" operator=\"EQUAL\">\r\n            <rightExpression xsi:type=\"expressions:LiteralExpression\" value=\"&quot;isApplicable_BWD&quot;\"/>\r\n            <leftExpression xsi:type=\"patternExpressions:AttributeValueExpression\" object=\"//@ownedActivityNode.0/@storyPattern/@objectVariable.0\">\r\n              <attribute href=\"http://www.eclipse.org/emf/2002/Ecore#//ENamedElement/name\"/>\r\n            </leftExpression>\r\n          </constraintExpression>\r\n        </constraint>\r\n      </objectVariable>\r\n      <objectVariable name=\"this\" bindingState=\"BOUND\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"http://www.moflon.org.BlipTGG#//Rules/MModelAttributeToModelAttributeRule\"/>\r\n      </objectVariable>\r\n      <objectVariable name=\"ruleresult\" outgoingLink=\"//@ownedActivityNode.0/@storyPattern/@linkVariable.0\" bindingOperator=\"CREATE\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"http://www.moflon.org.TGGRuntime#//IsAppropriateRuleResult\"/>\r\n        <attributeAssignment>\r\n          <attribute href=\"http://www.moflon.org.TGGRuntime#//RuleResult/success\"/>\r\n          <valueExpression xsi:type=\"expressions:LiteralExpression\" value=\"false\"/>\r\n        </attributeAssignment>\r\n      </objectVariable>\r\n      <objectVariable name=\"eClass\" outgoingLink=\"//@ownedActivityNode.0/@storyPattern/@linkVariable.1\" bindingState=\"BOUND\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"http://www.eclipse.org/emf/2002/Ecore#//EClass\"/>\r\n        <bindingExpression xsi:type=\"expressions:LiteralExpression\" value=\"this.eClass()\"/>\r\n      </objectVariable>\r\n      <linkVariable name=\"performOperation\" target=\"//@ownedActivityNode.0/@storyPattern/@objectVariable.0\" source=\"//@ownedActivityNode.0/@storyPattern/@objectVariable.2\" bindingOperator=\"CREATE\"/>\r\n      <linkVariable name=\"eOperations\" target=\"//@ownedActivityNode.0/@storyPattern/@objectVariable.0\" source=\"//@ownedActivityNode.0/@storyPattern/@objectVariable.3\"/>\r\n    </storyPattern>\r\n  </ownedActivityNode>\r\n  <ownedActivityNode xsi:type=\"activities:StoryNode\" name=\"test core match\" outgoing=\"//@ownedActivityEdge.3 //@ownedActivityEdge.1\" incoming=\"//@ownedActivityEdge.4 //@ownedActivityEdge.5 //@ownedActivityEdge.7\" forEach=\"true\">\r\n    <storyPattern xsi:type=\"TGGLanguage:TGGRule\" name=\"MModelAttributeToModelAttributeRule\" cspSpec=\"&#xD;&#xA;&#x9;&#x9;eq(modelAttributeNode.name, blipModelAttribute.name)&#xD;&#xA;&#x9;&#x9;eq(typeAttr.value, blipModelAttribute.type)&#xD;&#xA;&#x9;\">\r\n      <objectVariable xsi:type=\"TGGLanguage:TGGObjectVariable\" name=\"blipModel\" outgoingLink=\"//@ownedActivityNode.1/@storyPattern/@linkVariable.0\" bindingState=\"BOUND\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"platform:/resource/BlipLanguage/model/BlipLanguage.ecore#//BlipModel\"/>\r\n        <domain href=\"platform:/resource/BlipTGG/model/BlipTGG.tgg.xmi#//@domain.1\"/>\r\n      </objectVariable>\r\n      <objectVariable xsi:type=\"TGGLanguage:TGGObjectVariable\" name=\"blipModelAttribute\" incomingLink=\"//@ownedActivityNode.1/@storyPattern/@linkVariable.0\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"platform:/resource/BlipLanguage/model/BlipLanguage.ecore#//BlipModelAttribute\"/>\r\n        <domain href=\"platform:/resource/BlipTGG/model/BlipTGG.tgg.xmi#//@domain.1\"/>\r\n      </objectVariable>\r\n      <objectVariable name=\"ruleresult\" bindingState=\"BOUND\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"http://www.moflon.org.TGGRuntime#//IsAppropriateRuleResult\"/>\r\n      </objectVariable>\r\n      <objectVariable name=\"match\" bindingOperator=\"CREATE\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"http://www.moflon.org.TGGRuntime#//Match\"/>\r\n      </objectVariable>\r\n      <linkVariable xsi:type=\"TGGLanguage:TGGLinkVariable\" name=\"attributes\" target=\"//@ownedActivityNode.1/@storyPattern/@objectVariable.1\" source=\"//@ownedActivityNode.1/@storyPattern/@objectVariable.0\">\r\n        <domain href=\"platform:/resource/BlipTGG/model/BlipTGG.tgg.xmi#//@domain.1\"/>\r\n      </linkVariable>\r\n      <correspondence href=\"platform:/resource/BlipTGG/model/BlipTGG.tgg.xmi#//@domain.2\"/>\r\n      <source href=\"platform:/resource/BlipTGG/model/BlipTGG.tgg.xmi#//@domain.0\"/>\r\n      <csp>\r\n        <constraints variables=\"//@ownedActivityNode.1/@storyPattern/@csp/@variables.0 //@ownedActivityNode.1/@storyPattern/@csp/@variables.1\" name=\"eq\">\r\n          <allowedAdornments value=\"BB\"/>\r\n          <allowedAdornments value=\"BF\"/>\r\n          <allowedAdornments value=\"FB\"/>\r\n        </constraints>\r\n        <constraints variables=\"//@ownedActivityNode.1/@storyPattern/@csp/@variables.2 //@ownedActivityNode.1/@storyPattern/@csp/@variables.3\" name=\"eq\">\r\n          <allowedAdornments value=\"BB\"/>\r\n          <allowedAdornments value=\"BF\"/>\r\n          <allowedAdornments value=\"FB\"/>\r\n        </constraints>\r\n        <variables xsi:type=\"csp:AttributeVariable\" type=\"String\" attribute=\"name\" objectVariable=\"modelAttributeNode\"/>\r\n        <variables xsi:type=\"csp:AttributeVariable\" type=\"String\" attribute=\"name\" objectVariable=\"blipModelAttribute\"/>\r\n        <variables xsi:type=\"csp:AttributeVariable\" type=\"String\" attribute=\"value\" objectVariable=\"typeAttr\"/>\r\n        <variables xsi:type=\"csp:AttributeVariable\" type=\"String\" attribute=\"type\" objectVariable=\"blipModelAttribute\"/>\r\n      </csp>\r\n      <target href=\"platform:/resource/BlipTGG/model/BlipTGG.tgg.xmi#//@domain.1\"/>\r\n    </storyPattern>\r\n  </ownedActivityNode>\r\n  <ownedActivityNode xsi:type=\"activities:StoryNode\" name=\"set success\" outgoing=\"//@ownedActivityEdge.2\" incoming=\"//@ownedActivityEdge.3\">\r\n    <storyPattern>\r\n      <objectVariable name=\"match\" incomingLink=\"//@ownedActivityNode.2/@storyPattern/@linkVariable.0\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"http://www.moflon.org.TGGRuntime#//Match\"/>\r\n      </objectVariable>\r\n      <objectVariable name=\"ruleresult\" outgoingLink=\"//@ownedActivityNode.2/@storyPattern/@linkVariable.0\" bindingState=\"BOUND\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"http://www.moflon.org.TGGRuntime#//IsAppropriateRuleResult\"/>\r\n        <attributeAssignment>\r\n          <attribute href=\"http://www.moflon.org.TGGRuntime#//RuleResult/success\"/>\r\n          <valueExpression xsi:type=\"expressions:LiteralExpression\" value=\"true\"/>\r\n        </attributeAssignment>\r\n      </objectVariable>\r\n      <linkVariable name=\"matches\" target=\"//@ownedActivityNode.2/@storyPattern/@objectVariable.0\" source=\"//@ownedActivityNode.2/@storyPattern/@objectVariable.1\"/>\r\n    </storyPattern>\r\n  </ownedActivityNode>\r\n  <ownedActivityNode xsi:type=\"activities:StopNode\" incoming=\"//@ownedActivityEdge.2\">\r\n    <returnValue xsi:type=\"patternExpressions:ObjectVariableExpression\" object=\"//@ownedActivityNode.0/@storyPattern/@objectVariable.2\"/>\r\n  </ownedActivityNode>\r\n  <ownedActivityNode xsi:type=\"activities:StartNode\" outgoing=\"//@ownedActivityEdge.0\"/>\r\n  <ownedActivityNode xsi:type=\"activities:StatementNode\" name=\"bookkeeping with generic isAppropriate method\" outgoing=\"//@ownedActivityEdge.5 //@ownedActivityEdge.6\" incoming=\"//@ownedActivityEdge.1\">\r\n    <statementExpression xsi:type=\"callExpressions:MethodCallExpression\">\r\n      <ownedParameterBindings>\r\n        <valueExpression xsi:type=\"expressions:TextualExpression\" expressionText=\"match\"/>\r\n        <parameter href=\"http://www.moflon.org.BlipTGG#//Rules/MModelAttributeToModelAttributeRule/isAppropriate_BWD/match\"/>\r\n      </ownedParameterBindings>\r\n      <ownedParameterBindings>\r\n        <valueExpression xsi:type=\"expressions:TextualExpression\" expressionText=\"blipModel\"/>\r\n        <parameter href=\"http://www.moflon.org.BlipTGG#//Rules/MModelAttributeToModelAttributeRule/isAppropriate_BWD/blipModel\"/>\r\n      </ownedParameterBindings>\r\n      <ownedParameterBindings>\r\n        <valueExpression xsi:type=\"expressions:TextualExpression\" expressionText=\"blipModelAttribute\"/>\r\n        <parameter href=\"http://www.moflon.org.BlipTGG#//Rules/MModelAttributeToModelAttributeRule/isAppropriate_BWD/blipModelAttribute\"/>\r\n      </ownedParameterBindings>\r\n      <callee href=\"http://www.moflon.org.BlipTGG#//Rules/MModelAttributeToModelAttributeRule/isAppropriate_BWD\"/>\r\n      <target xsi:type=\"patternExpressions:ObjectVariableExpression\" object=\"//@ownedActivityNode.0/@storyPattern/@objectVariable.1\"/>\r\n    </statementExpression>\r\n  </ownedActivityNode>\r\n  <ownedActivityNode xsi:type=\"activities:StoryNode\" name=\"Add match to rule result\" outgoing=\"//@ownedActivityEdge.7\" incoming=\"//@ownedActivityEdge.6\">\r\n    <storyPattern>\r\n      <objectVariable name=\"match\" incomingLink=\"//@ownedActivityNode.6/@storyPattern/@linkVariable.0\" bindingState=\"BOUND\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"http://www.moflon.org.TGGRuntime#//Match\"/>\r\n      </objectVariable>\r\n      <objectVariable name=\"ruleresult\" outgoingLink=\"//@ownedActivityNode.6/@storyPattern/@linkVariable.0\" bindingState=\"BOUND\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"http://www.moflon.org.TGGRuntime#//IsAppropriateRuleResult\"/>\r\n      </objectVariable>\r\n      <linkVariable name=\"matches\" target=\"//@ownedActivityNode.6/@storyPattern/@objectVariable.0\" source=\"//@ownedActivityNode.6/@storyPattern/@objectVariable.1\" bindingOperator=\"CREATE\"/>\r\n    </storyPattern>\r\n  </ownedActivityNode>\r\n  <ownedActivityEdge source=\"//@ownedActivityNode.4\" target=\"//@ownedActivityNode.0\"/>\r\n  <ownedActivityEdge source=\"//@ownedActivityNode.1\" target=\"//@ownedActivityNode.5\" guard=\"EACH_TIME\"/>\r\n  <ownedActivityEdge source=\"//@ownedActivityNode.2\" target=\"//@ownedActivityNode.3\"/>\r\n  <ownedActivityEdge source=\"//@ownedActivityNode.1\" target=\"//@ownedActivityNode.2\" guard=\"END\"/>\r\n  <ownedActivityEdge source=\"//@ownedActivityNode.0\" target=\"//@ownedActivityNode.1\"/>\r\n  <ownedActivityEdge source=\"//@ownedActivityNode.5\" target=\"//@ownedActivityNode.1\" guard=\"FAILURE\"/>\r\n  <ownedActivityEdge source=\"//@ownedActivityNode.5\" target=\"//@ownedActivityNode.6\" guard=\"SUCCESS\"/>\r\n  <ownedActivityEdge source=\"//@ownedActivityNode.6\" target=\"//@ownedActivityNode.1\"/>\r\n</activities:Activity>\r\n" });
		addAnnotation(
				getMModelAttributeToModelAttributeRule__IsAppropriate_BWD_BlipModelAttribute_0__BlipModelAttribute(),
				source,
				new String[] {
						"XMI",
						"<?xml version=\"1.0\" encoding=\"UTF-8\"?>\r\n<activities:Activity xmi:version=\"2.0\" xmlns:xmi=\"http://www.omg.org/XMI\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:TGGLanguage=\"http://www.moflon.org.TGGLanguage\" xmlns:activities=\"http://www.moflon.org.SDMLanguage.activities\" xmlns:callExpressions=\"http://www.moflon.org.SDMLanguage.calls.callExpressions\" xmlns:csp=\"http://www.moflon.org.TGGLanguage.csp\" xmlns:ecore=\"http://www.eclipse.org/emf/2002/Ecore\" xmlns:expressions=\"http://www.moflon.org.SDMLanguage.expressions\" xmlns:patternExpressions=\"http://www.moflon.org.SDMLanguage.patterns.patternExpressions\">\r\n  <ownedActivityNode xsi:type=\"activities:StoryNode\" name=\"prepare return value\" outgoing=\"//@ownedActivityEdge.4\" incoming=\"//@ownedActivityEdge.0\">\r\n    <storyPattern>\r\n      <objectVariable name=\"performOperation\" incomingLink=\"//@ownedActivityNode.0/@storyPattern/@linkVariable.1 //@ownedActivityNode.0/@storyPattern/@linkVariable.0\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"http://www.eclipse.org/emf/2002/Ecore#//EOperation\"/>\r\n        <constraint>\r\n          <constraintExpression xsi:type=\"expressions:ComparisonExpression\" operator=\"EQUAL\">\r\n            <rightExpression xsi:type=\"expressions:LiteralExpression\" value=\"&quot;isApplicable_BWD&quot;\"/>\r\n            <leftExpression xsi:type=\"patternExpressions:AttributeValueExpression\" object=\"//@ownedActivityNode.0/@storyPattern/@objectVariable.0\">\r\n              <attribute href=\"http://www.eclipse.org/emf/2002/Ecore#//ENamedElement/name\"/>\r\n            </leftExpression>\r\n          </constraintExpression>\r\n        </constraint>\r\n      </objectVariable>\r\n      <objectVariable name=\"this\" bindingState=\"BOUND\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"http://www.moflon.org.BlipTGG#//Rules/MModelAttributeToModelAttributeRule\"/>\r\n      </objectVariable>\r\n      <objectVariable name=\"ruleresult\" outgoingLink=\"//@ownedActivityNode.0/@storyPattern/@linkVariable.0\" bindingOperator=\"CREATE\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"http://www.moflon.org.TGGRuntime#//IsAppropriateRuleResult\"/>\r\n        <attributeAssignment>\r\n          <attribute href=\"http://www.moflon.org.TGGRuntime#//RuleResult/success\"/>\r\n          <valueExpression xsi:type=\"expressions:LiteralExpression\" value=\"false\"/>\r\n        </attributeAssignment>\r\n      </objectVariable>\r\n      <objectVariable name=\"eClass\" outgoingLink=\"//@ownedActivityNode.0/@storyPattern/@linkVariable.1\" bindingState=\"BOUND\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"http://www.eclipse.org/emf/2002/Ecore#//EClass\"/>\r\n        <bindingExpression xsi:type=\"expressions:LiteralExpression\" value=\"this.eClass()\"/>\r\n      </objectVariable>\r\n      <linkVariable name=\"performOperation\" target=\"//@ownedActivityNode.0/@storyPattern/@objectVariable.0\" source=\"//@ownedActivityNode.0/@storyPattern/@objectVariable.2\" bindingOperator=\"CREATE\"/>\r\n      <linkVariable name=\"eOperations\" target=\"//@ownedActivityNode.0/@storyPattern/@objectVariable.0\" source=\"//@ownedActivityNode.0/@storyPattern/@objectVariable.3\"/>\r\n    </storyPattern>\r\n  </ownedActivityNode>\r\n  <ownedActivityNode xsi:type=\"activities:StoryNode\" name=\"test core match\" outgoing=\"//@ownedActivityEdge.3 //@ownedActivityEdge.1\" incoming=\"//@ownedActivityEdge.4 //@ownedActivityEdge.5 //@ownedActivityEdge.7\" forEach=\"true\">\r\n    <storyPattern xsi:type=\"TGGLanguage:TGGRule\" name=\"MModelAttributeToModelAttributeRule\" cspSpec=\"&#xD;&#xA;&#x9;&#x9;eq(modelAttributeNode.name, blipModelAttribute.name)&#xD;&#xA;&#x9;&#x9;eq(typeAttr.value, blipModelAttribute.type)&#xD;&#xA;&#x9;\">\r\n      <objectVariable xsi:type=\"TGGLanguage:TGGObjectVariable\" name=\"blipModel\" outgoingLink=\"//@ownedActivityNode.1/@storyPattern/@linkVariable.0\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"platform:/resource/BlipLanguage/model/BlipLanguage.ecore#//BlipModel\"/>\r\n        <domain href=\"platform:/resource/BlipTGG/model/BlipTGG.tgg.xmi#//@domain.1\"/>\r\n      </objectVariable>\r\n      <objectVariable xsi:type=\"TGGLanguage:TGGObjectVariable\" name=\"blipModelAttribute\" incomingLink=\"//@ownedActivityNode.1/@storyPattern/@linkVariable.0\" bindingState=\"BOUND\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"platform:/resource/BlipLanguage/model/BlipLanguage.ecore#//BlipModelAttribute\"/>\r\n        <domain href=\"platform:/resource/BlipTGG/model/BlipTGG.tgg.xmi#//@domain.1\"/>\r\n      </objectVariable>\r\n      <objectVariable name=\"ruleresult\" bindingState=\"BOUND\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"http://www.moflon.org.TGGRuntime#//IsAppropriateRuleResult\"/>\r\n      </objectVariable>\r\n      <objectVariable name=\"match\" bindingOperator=\"CREATE\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"http://www.moflon.org.TGGRuntime#//Match\"/>\r\n      </objectVariable>\r\n      <linkVariable xsi:type=\"TGGLanguage:TGGLinkVariable\" name=\"attributes\" target=\"//@ownedActivityNode.1/@storyPattern/@objectVariable.1\" source=\"//@ownedActivityNode.1/@storyPattern/@objectVariable.0\">\r\n        <domain href=\"platform:/resource/BlipTGG/model/BlipTGG.tgg.xmi#//@domain.1\"/>\r\n      </linkVariable>\r\n      <correspondence href=\"platform:/resource/BlipTGG/model/BlipTGG.tgg.xmi#//@domain.2\"/>\r\n      <source href=\"platform:/resource/BlipTGG/model/BlipTGG.tgg.xmi#//@domain.0\"/>\r\n      <csp>\r\n        <constraints variables=\"//@ownedActivityNode.1/@storyPattern/@csp/@variables.0 //@ownedActivityNode.1/@storyPattern/@csp/@variables.1\" name=\"eq\">\r\n          <allowedAdornments value=\"BB\"/>\r\n          <allowedAdornments value=\"BF\"/>\r\n          <allowedAdornments value=\"FB\"/>\r\n        </constraints>\r\n        <constraints variables=\"//@ownedActivityNode.1/@storyPattern/@csp/@variables.2 //@ownedActivityNode.1/@storyPattern/@csp/@variables.3\" name=\"eq\">\r\n          <allowedAdornments value=\"BB\"/>\r\n          <allowedAdornments value=\"BF\"/>\r\n          <allowedAdornments value=\"FB\"/>\r\n        </constraints>\r\n        <variables xsi:type=\"csp:AttributeVariable\" type=\"String\" attribute=\"name\" objectVariable=\"modelAttributeNode\"/>\r\n        <variables xsi:type=\"csp:AttributeVariable\" type=\"String\" attribute=\"name\" objectVariable=\"blipModelAttribute\"/>\r\n        <variables xsi:type=\"csp:AttributeVariable\" type=\"String\" attribute=\"value\" objectVariable=\"typeAttr\"/>\r\n        <variables xsi:type=\"csp:AttributeVariable\" type=\"String\" attribute=\"type\" objectVariable=\"blipModelAttribute\"/>\r\n      </csp>\r\n      <target href=\"platform:/resource/BlipTGG/model/BlipTGG.tgg.xmi#//@domain.1\"/>\r\n    </storyPattern>\r\n  </ownedActivityNode>\r\n  <ownedActivityNode xsi:type=\"activities:StoryNode\" name=\"set success\" outgoing=\"//@ownedActivityEdge.2\" incoming=\"//@ownedActivityEdge.3\">\r\n    <storyPattern>\r\n      <objectVariable name=\"match\" incomingLink=\"//@ownedActivityNode.2/@storyPattern/@linkVariable.0\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"http://www.moflon.org.TGGRuntime#//Match\"/>\r\n      </objectVariable>\r\n      <objectVariable name=\"ruleresult\" outgoingLink=\"//@ownedActivityNode.2/@storyPattern/@linkVariable.0\" bindingState=\"BOUND\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"http://www.moflon.org.TGGRuntime#//IsAppropriateRuleResult\"/>\r\n        <attributeAssignment>\r\n          <attribute href=\"http://www.moflon.org.TGGRuntime#//RuleResult/success\"/>\r\n          <valueExpression xsi:type=\"expressions:LiteralExpression\" value=\"true\"/>\r\n        </attributeAssignment>\r\n      </objectVariable>\r\n      <linkVariable name=\"matches\" target=\"//@ownedActivityNode.2/@storyPattern/@objectVariable.0\" source=\"//@ownedActivityNode.2/@storyPattern/@objectVariable.1\"/>\r\n    </storyPattern>\r\n  </ownedActivityNode>\r\n  <ownedActivityNode xsi:type=\"activities:StopNode\" incoming=\"//@ownedActivityEdge.2\">\r\n    <returnValue xsi:type=\"patternExpressions:ObjectVariableExpression\" object=\"//@ownedActivityNode.0/@storyPattern/@objectVariable.2\"/>\r\n  </ownedActivityNode>\r\n  <ownedActivityNode xsi:type=\"activities:StartNode\" outgoing=\"//@ownedActivityEdge.0\"/>\r\n  <ownedActivityNode xsi:type=\"activities:StatementNode\" name=\"bookkeeping with generic isAppropriate method\" outgoing=\"//@ownedActivityEdge.5 //@ownedActivityEdge.6\" incoming=\"//@ownedActivityEdge.1\">\r\n    <statementExpression xsi:type=\"callExpressions:MethodCallExpression\">\r\n      <ownedParameterBindings>\r\n        <valueExpression xsi:type=\"expressions:TextualExpression\" expressionText=\"match\"/>\r\n        <parameter href=\"http://www.moflon.org.BlipTGG#//Rules/MModelAttributeToModelAttributeRule/isAppropriate_BWD/match\"/>\r\n      </ownedParameterBindings>\r\n      <ownedParameterBindings>\r\n        <valueExpression xsi:type=\"expressions:TextualExpression\" expressionText=\"blipModel\"/>\r\n        <parameter href=\"http://www.moflon.org.BlipTGG#//Rules/MModelAttributeToModelAttributeRule/isAppropriate_BWD/blipModel\"/>\r\n      </ownedParameterBindings>\r\n      <ownedParameterBindings>\r\n        <valueExpression xsi:type=\"expressions:TextualExpression\" expressionText=\"blipModelAttribute\"/>\r\n        <parameter href=\"http://www.moflon.org.BlipTGG#//Rules/MModelAttributeToModelAttributeRule/isAppropriate_BWD/blipModelAttribute\"/>\r\n      </ownedParameterBindings>\r\n      <callee href=\"http://www.moflon.org.BlipTGG#//Rules/MModelAttributeToModelAttributeRule/isAppropriate_BWD\"/>\r\n      <target xsi:type=\"patternExpressions:ObjectVariableExpression\" object=\"//@ownedActivityNode.0/@storyPattern/@objectVariable.1\"/>\r\n    </statementExpression>\r\n  </ownedActivityNode>\r\n  <ownedActivityNode xsi:type=\"activities:StoryNode\" name=\"Add match to rule result\" outgoing=\"//@ownedActivityEdge.7\" incoming=\"//@ownedActivityEdge.6\">\r\n    <storyPattern>\r\n      <objectVariable name=\"match\" incomingLink=\"//@ownedActivityNode.6/@storyPattern/@linkVariable.0\" bindingState=\"BOUND\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"http://www.moflon.org.TGGRuntime#//Match\"/>\r\n      </objectVariable>\r\n      <objectVariable name=\"ruleresult\" outgoingLink=\"//@ownedActivityNode.6/@storyPattern/@linkVariable.0\" bindingState=\"BOUND\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"http://www.moflon.org.TGGRuntime#//IsAppropriateRuleResult\"/>\r\n      </objectVariable>\r\n      <linkVariable name=\"matches\" target=\"//@ownedActivityNode.6/@storyPattern/@objectVariable.0\" source=\"//@ownedActivityNode.6/@storyPattern/@objectVariable.1\" bindingOperator=\"CREATE\"/>\r\n    </storyPattern>\r\n  </ownedActivityNode>\r\n  <ownedActivityEdge source=\"//@ownedActivityNode.4\" target=\"//@ownedActivityNode.0\"/>\r\n  <ownedActivityEdge source=\"//@ownedActivityNode.1\" target=\"//@ownedActivityNode.5\" guard=\"EACH_TIME\"/>\r\n  <ownedActivityEdge source=\"//@ownedActivityNode.2\" target=\"//@ownedActivityNode.3\"/>\r\n  <ownedActivityEdge source=\"//@ownedActivityNode.1\" target=\"//@ownedActivityNode.2\" guard=\"END\"/>\r\n  <ownedActivityEdge source=\"//@ownedActivityNode.0\" target=\"//@ownedActivityNode.1\"/>\r\n  <ownedActivityEdge source=\"//@ownedActivityNode.5\" target=\"//@ownedActivityNode.1\" guard=\"FAILURE\"/>\r\n  <ownedActivityEdge source=\"//@ownedActivityNode.5\" target=\"//@ownedActivityNode.6\" guard=\"SUCCESS\"/>\r\n  <ownedActivityEdge source=\"//@ownedActivityNode.6\" target=\"//@ownedActivityNode.1\"/>\r\n</activities:Activity>\r\n" });
		addAnnotation(
				getMModelToModelRule__Perform_FWD__IsApplicableMatch(),
				source,
				new String[] {
						"XMI",
						"<?xml version=\"1.0\" encoding=\"UTF-8\"?>\r\n<activities:Activity xmi:version=\"2.0\" xmlns:xmi=\"http://www.omg.org/XMI\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:TGGLanguage=\"http://www.moflon.org.TGGLanguage\" xmlns:activities=\"http://www.moflon.org.SDMLanguage.activities\" xmlns:csp=\"http://www.moflon.org.TGGLanguage.csp\" xmlns:ecore=\"http://www.eclipse.org/emf/2002/Ecore\" xmlns:expressions=\"http://www.moflon.org.SDMLanguage.expressions\" xmlns:patternExpressions=\"http://www.moflon.org.SDMLanguage.patterns.patternExpressions\">\r\n  <ownedActivityNode xsi:type=\"activities:StoryNode\" name=\"collect translated elements\" outgoing=\"//@ownedActivityEdge.3\" incoming=\"//@ownedActivityEdge.1\">\r\n    <storyPattern>\r\n      <objectVariable name=\"ruleresult\" outgoingLink=\"//@ownedActivityNode.0/@storyPattern/@linkVariable.0 //@ownedActivityNode.0/@storyPattern/@linkVariable.1 //@ownedActivityNode.0/@storyPattern/@linkVariable.2 //@ownedActivityNode.0/@storyPattern/@linkVariable.3\" bindingOperator=\"CREATE\" bindingState=\"BOUND\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"http://www.moflon.org.TGGRuntime#//PerformRuleResult\"/>\r\n        <attributeAssignment>\r\n          <attribute href=\"http://www.moflon.org.TGGRuntime#//RuleResult/success\"/>\r\n          <valueExpression xsi:type=\"expressions:LiteralExpression\" value=\"true\"/>\r\n        </attributeAssignment>\r\n      </objectVariable>\r\n      <objectVariable name=\"blipModelNode\" incomingLink=\"//@ownedActivityNode.0/@storyPattern/@linkVariable.0\" bindingState=\"BOUND\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"platform:/plugin/org.moflon.moca.MocaTree/model/MocaTree.ecore#//Node\"/>\r\n      </objectVariable>\r\n      <objectVariable name=\"nameAttr\" incomingLink=\"//@ownedActivityNode.0/@storyPattern/@linkVariable.1\" bindingState=\"BOUND\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"platform:/plugin/org.moflon.moca.MocaTree/model/MocaTree.ecore#//Attribute\"/>\r\n      </objectVariable>\r\n      <objectVariable name=\"mModelToModel\" incomingLink=\"//@ownedActivityNode.0/@storyPattern/@linkVariable.2\" bindingState=\"BOUND\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"http://www.moflon.org.BlipTGG#//MModelToModel\"/>\r\n      </objectVariable>\r\n      <objectVariable name=\"blipModel\" incomingLink=\"//@ownedActivityNode.0/@storyPattern/@linkVariable.3\" bindingState=\"BOUND\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"platform:/resource/BlipLanguage/model/BlipLanguage.ecore#//BlipModel\"/>\r\n      </objectVariable>\r\n      <linkVariable name=\"translatedElements\" target=\"//@ownedActivityNode.0/@storyPattern/@objectVariable.1\" source=\"//@ownedActivityNode.0/@storyPattern/@objectVariable.0\" bindingOperator=\"CREATE\"/>\r\n      <linkVariable name=\"translatedElements\" target=\"//@ownedActivityNode.0/@storyPattern/@objectVariable.2\" source=\"//@ownedActivityNode.0/@storyPattern/@objectVariable.0\" bindingOperator=\"CREATE\"/>\r\n      <linkVariable name=\"createdLinkElements\" target=\"//@ownedActivityNode.0/@storyPattern/@objectVariable.3\" source=\"//@ownedActivityNode.0/@storyPattern/@objectVariable.0\" bindingOperator=\"CREATE\"/>\r\n      <linkVariable name=\"createdElements\" target=\"//@ownedActivityNode.0/@storyPattern/@objectVariable.4\" source=\"//@ownedActivityNode.0/@storyPattern/@objectVariable.0\" bindingOperator=\"CREATE\"/>\r\n    </storyPattern>\r\n  </ownedActivityNode>\r\n  <ownedActivityNode xsi:type=\"activities:StoryNode\" name=\"perform transformation\" outgoing=\"//@ownedActivityEdge.1\" incoming=\"//@ownedActivityEdge.0\">\r\n    <storyPattern xsi:type=\"TGGLanguage:TGGRule\" name=\"MModelToModelRule\" cspSpec=\"&#xD;&#xA;&#x9;&#x9;eq(nameAttr.value, blipModel.name)&#xD;&#xA;&#x9;\">\r\n      <objectVariable xsi:type=\"TGGLanguage:TGGObjectVariable\" name=\"applicationNode\" bindingState=\"BOUND\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"platform:/plugin/org.moflon.moca.MocaTree/model/MocaTree.ecore#//Node\"/>\r\n        <bindingExpression xsi:type=\"expressions:LiteralExpression\" value=\"isApplicableMatch.getObject(&quot;applicationNode&quot;)\"/>\r\n        <domain href=\"platform:/resource/BlipTGG/model/BlipTGG.tgg.xmi#//@domain.0\"/>\r\n      </objectVariable>\r\n      <objectVariable xsi:type=\"TGGLanguage:TGGObjectVariable\" name=\"blipModelNode\" incomingLink=\"//@ownedActivityNode.1/@storyPattern/@linkVariable.0\" bindingState=\"BOUND\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"platform:/plugin/org.moflon.moca.MocaTree/model/MocaTree.ecore#//Node\"/>\r\n        <bindingExpression xsi:type=\"expressions:LiteralExpression\" value=\"isApplicableMatch.getObject(&quot;blipModelNode&quot;)\"/>\r\n        <constraint>\r\n          <constraintExpression xsi:type=\"expressions:ComparisonExpression\" operator=\"EQUAL\">\r\n            <rightExpression xsi:type=\"expressions:LiteralExpression\" value=\"&quot;Model&quot;\"/>\r\n            <leftExpression xsi:type=\"patternExpressions:AttributeValueExpression\">\r\n              <attribute href=\"platform:/plugin/org.moflon.moca.MocaTree/model/MocaTree.ecore#//TreeElement/name\"/>\r\n            </leftExpression>\r\n          </constraintExpression>\r\n        </constraint>\r\n        <domain href=\"platform:/resource/BlipTGG/model/BlipTGG.tgg.xmi#//@domain.0\"/>\r\n      </objectVariable>\r\n      <objectVariable xsi:type=\"TGGLanguage:TGGObjectVariable\" name=\"nameAttr\" bindingState=\"BOUND\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"platform:/plugin/org.moflon.moca.MocaTree/model/MocaTree.ecore#//Attribute\"/>\r\n        <bindingExpression xsi:type=\"expressions:LiteralExpression\" value=\"isApplicableMatch.getObject(&quot;nameAttr&quot;)\"/>\r\n        <constraint>\r\n          <constraintExpression xsi:type=\"expressions:ComparisonExpression\" operator=\"EQUAL\">\r\n            <rightExpression xsi:type=\"expressions:LiteralExpression\" value=\"&quot;name&quot;\"/>\r\n            <leftExpression xsi:type=\"patternExpressions:AttributeValueExpression\">\r\n              <attribute href=\"platform:/plugin/org.moflon.moca.MocaTree/model/MocaTree.ecore#//TreeElement/name\"/>\r\n            </leftExpression>\r\n          </constraintExpression>\r\n        </constraint>\r\n        <domain href=\"platform:/resource/BlipTGG/model/BlipTGG.tgg.xmi#//@domain.0\"/>\r\n      </objectVariable>\r\n      <objectVariable xsi:type=\"TGGLanguage:TGGObjectVariable\" name=\"mApplicationToApplication\" bindingState=\"BOUND\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"http://www.moflon.org.BlipTGG#//MApplicationToApplication\"/>\r\n        <bindingExpression xsi:type=\"expressions:LiteralExpression\" value=\"isApplicableMatch.getObject(&quot;mApplicationToApplication&quot;)\"/>\r\n        <domain href=\"platform:/resource/BlipTGG/model/BlipTGG.tgg.xmi#//@domain.2\"/>\r\n      </objectVariable>\r\n      <objectVariable xsi:type=\"TGGLanguage:TGGObjectVariable\" name=\"mModelToModel\" outgoingLink=\"//@ownedActivityNode.1/@storyPattern/@linkVariable.0 //@ownedActivityNode.1/@storyPattern/@linkVariable.1\" bindingOperator=\"CREATE\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"http://www.moflon.org.BlipTGG#//MModelToModel\"/>\r\n        <domain href=\"platform:/resource/BlipTGG/model/BlipTGG.tgg.xmi#//@domain.2\"/>\r\n      </objectVariable>\r\n      <objectVariable xsi:type=\"TGGLanguage:TGGObjectVariable\" name=\"application\" outgoingLink=\"//@ownedActivityNode.1/@storyPattern/@linkVariable.2\" bindingState=\"BOUND\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"platform:/resource/BlipLanguage/model/BlipLanguage.ecore#//BlipApplication\"/>\r\n        <bindingExpression xsi:type=\"expressions:LiteralExpression\" value=\"isApplicableMatch.getObject(&quot;application&quot;)\"/>\r\n        <domain href=\"platform:/resource/BlipTGG/model/BlipTGG.tgg.xmi#//@domain.1\"/>\r\n      </objectVariable>\r\n      <objectVariable xsi:type=\"TGGLanguage:TGGObjectVariable\" name=\"blipModel\" incomingLink=\"//@ownedActivityNode.1/@storyPattern/@linkVariable.1 //@ownedActivityNode.1/@storyPattern/@linkVariable.2\" bindingOperator=\"CREATE\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"platform:/resource/BlipLanguage/model/BlipLanguage.ecore#//BlipModel\"/>\r\n        <attributeAssignment>\r\n          <attribute href=\"platform:/resource/BlipLanguage/model/BlipLanguage.ecore#//BlipModel/name\"/>\r\n          <valueExpression xsi:type=\"expressions:LiteralExpression\" value=\"(java.lang.String)csp.getAttributeVariable(&quot;blipModel&quot;,&quot;name&quot;).getValue()\"/>\r\n        </attributeAssignment>\r\n        <domain href=\"platform:/resource/BlipTGG/model/BlipTGG.tgg.xmi#//@domain.1\"/>\r\n      </objectVariable>\r\n      <objectVariable name=\"csp\" incomingLink=\"//@ownedActivityNode.1/@storyPattern/@linkVariable.3\" bindingSemantics=\"OPTIONAL\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"http://www.moflon.org.TGGLanguage#//csp/CSP\"/>\r\n      </objectVariable>\r\n      <objectVariable name=\"this\" bindingState=\"BOUND\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"http://www.moflon.org.BlipTGG#//Rules/MModelToModelRule\"/>\r\n        <bindingExpression xsi:type=\"expressions:LiteralExpression\" value=\"isApplicableMatch.getObject(&quot;this&quot;)\"/>\r\n      </objectVariable>\r\n      <objectVariable name=\"isApplicableMatch\" outgoingLink=\"//@ownedActivityNode.1/@storyPattern/@linkVariable.3\" bindingState=\"BOUND\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"http://www.moflon.org.TGGRuntime#//IsApplicableMatch\"/>\r\n      </objectVariable>\r\n      <linkVariable xsi:type=\"TGGLanguage:TGGLinkVariable\" name=\"source\" target=\"//@ownedActivityNode.1/@storyPattern/@objectVariable.1\" source=\"//@ownedActivityNode.1/@storyPattern/@objectVariable.4\" bindingOperator=\"CREATE\">\r\n        <domain href=\"platform:/resource/BlipTGG/model/BlipTGG.tgg.xmi#//@domain.2\"/>\r\n      </linkVariable>\r\n      <linkVariable xsi:type=\"TGGLanguage:TGGLinkVariable\" name=\"target\" target=\"//@ownedActivityNode.1/@storyPattern/@objectVariable.6\" source=\"//@ownedActivityNode.1/@storyPattern/@objectVariable.4\" bindingOperator=\"CREATE\">\r\n        <domain href=\"platform:/resource/BlipTGG/model/BlipTGG.tgg.xmi#//@domain.2\"/>\r\n      </linkVariable>\r\n      <linkVariable xsi:type=\"TGGLanguage:TGGLinkVariable\" name=\"models\" target=\"//@ownedActivityNode.1/@storyPattern/@objectVariable.6\" source=\"//@ownedActivityNode.1/@storyPattern/@objectVariable.5\" bindingOperator=\"CREATE\">\r\n        <domain href=\"platform:/resource/BlipTGG/model/BlipTGG.tgg.xmi#//@domain.1\"/>\r\n      </linkVariable>\r\n      <linkVariable name=\"attributeInfo\" target=\"//@ownedActivityNode.1/@storyPattern/@objectVariable.7\" source=\"//@ownedActivityNode.1/@storyPattern/@objectVariable.9\"/>\r\n      <correspondence href=\"platform:/resource/BlipTGG/model/BlipTGG.tgg.xmi#//@domain.2\"/>\r\n      <source href=\"platform:/resource/BlipTGG/model/BlipTGG.tgg.xmi#//@domain.0\"/>\r\n      <csp>\r\n        <constraints variables=\"//@ownedActivityNode.1/@storyPattern/@csp/@variables.0 //@ownedActivityNode.1/@storyPattern/@csp/@variables.1\" name=\"eq\">\r\n          <allowedAdornments value=\"BB\"/>\r\n          <allowedAdornments value=\"BF\"/>\r\n          <allowedAdornments value=\"FB\"/>\r\n        </constraints>\r\n        <variables xsi:type=\"csp:AttributeVariable\" bound=\"true\" value=\"ACED00057400136E616D65417474722E67657456616C75652829\" type=\"String\" attribute=\"value\" objectVariable=\"nameAttr\"/>\r\n        <variables xsi:type=\"csp:AttributeVariable\" type=\"String\" attribute=\"name\" objectVariable=\"blipModel\"/>\r\n        <forward variables=\"//@ownedActivityNode.1/@storyPattern/@csp/@variables.0 //@ownedActivityNode.1/@storyPattern/@csp/@variables.1\" constraints=\"//@ownedActivityNode.1/@storyPattern/@csp/@constraints.0\"/>\r\n        <simultaneous variables=\"//@ownedActivityNode.1/@storyPattern/@csp/@variables.0 //@ownedActivityNode.1/@storyPattern/@csp/@variables.1\" constraints=\"//@ownedActivityNode.1/@storyPattern/@csp/@constraints.0\"/>\r\n        <backward variables=\"//@ownedActivityNode.1/@storyPattern/@csp/@variables.0 //@ownedActivityNode.1/@storyPattern/@csp/@variables.1\" constraints=\"//@ownedActivityNode.1/@storyPattern/@csp/@constraints.0\"/>\r\n        <source/>\r\n        <target/>\r\n      </csp>\r\n      <target href=\"platform:/resource/BlipTGG/model/BlipTGG.tgg.xmi#//@domain.1\"/>\r\n    </storyPattern>\r\n  </ownedActivityNode>\r\n  <ownedActivityNode xsi:type=\"activities:StopNode\" incoming=\"//@ownedActivityEdge.2\">\r\n    <returnValue xsi:type=\"patternExpressions:ObjectVariableExpression\" object=\"//@ownedActivityNode.0/@storyPattern/@objectVariable.0\"/>\r\n  </ownedActivityNode>\r\n  <ownedActivityNode xsi:type=\"activities:StartNode\" outgoing=\"//@ownedActivityEdge.0\"/>\r\n  <ownedActivityNode xsi:type=\"activities:StatementNode\" name=\"perform postprocessing\" outgoing=\"//@ownedActivityEdge.2\" incoming=\"//@ownedActivityEdge.4\">\r\n    <statementExpression xsi:type=\"expressions:LiteralExpression\" value=\"// No post processing method found\"/>\r\n  </ownedActivityNode>\r\n  <ownedActivityNode xsi:type=\"activities:StoryNode\" name=\"bookkeeping for edges\" outgoing=\"//@ownedActivityEdge.4\" incoming=\"//@ownedActivityEdge.3\">\r\n    <storyPattern>\r\n      <objectVariable name=\"ruleresult\" outgoingLink=\"//@ownedActivityNode.5/@storyPattern/@linkVariable.0 //@ownedActivityNode.5/@storyPattern/@linkVariable.3 //@ownedActivityNode.5/@storyPattern/@linkVariable.7 //@ownedActivityNode.5/@storyPattern/@linkVariable.10 //@ownedActivityNode.5/@storyPattern/@linkVariable.13\" bindingState=\"BOUND\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"http://www.moflon.org.TGGRuntime#//PerformRuleResult\"/>\r\n      </objectVariable>\r\n      <objectVariable name=\"applicationNode\" incomingLink=\"//@ownedActivityNode.5/@storyPattern/@linkVariable.1\" bindingState=\"BOUND\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"http://www.eclipse.org/emf/2002/Ecore#//EObject\"/>\r\n      </objectVariable>\r\n      <objectVariable name=\"blipModelNode\" incomingLink=\"//@ownedActivityNode.5/@storyPattern/@linkVariable.2 //@ownedActivityNode.5/@storyPattern/@linkVariable.5 //@ownedActivityNode.5/@storyPattern/@linkVariable.6\" bindingState=\"BOUND\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"http://www.eclipse.org/emf/2002/Ecore#//EObject\"/>\r\n      </objectVariable>\r\n      <objectVariable name=\"nameAttr\" incomingLink=\"//@ownedActivityNode.5/@storyPattern/@linkVariable.4\" bindingState=\"BOUND\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"http://www.eclipse.org/emf/2002/Ecore#//EObject\"/>\r\n      </objectVariable>\r\n      <objectVariable name=\"mApplicationToApplication\" bindingState=\"BOUND\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"http://www.eclipse.org/emf/2002/Ecore#//EObject\"/>\r\n      </objectVariable>\r\n      <objectVariable name=\"mModelToModel\" incomingLink=\"//@ownedActivityNode.5/@storyPattern/@linkVariable.8 //@ownedActivityNode.5/@storyPattern/@linkVariable.11\" bindingState=\"BOUND\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"http://www.eclipse.org/emf/2002/Ecore#//EObject\"/>\r\n      </objectVariable>\r\n      <objectVariable name=\"application\" incomingLink=\"//@ownedActivityNode.5/@storyPattern/@linkVariable.14\" bindingState=\"BOUND\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"http://www.eclipse.org/emf/2002/Ecore#//EObject\"/>\r\n      </objectVariable>\r\n      <objectVariable name=\"blipModel\" incomingLink=\"//@ownedActivityNode.5/@storyPattern/@linkVariable.9 //@ownedActivityNode.5/@storyPattern/@linkVariable.12\" bindingState=\"BOUND\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"http://www.eclipse.org/emf/2002/Ecore#//EObject\"/>\r\n      </objectVariable>\r\n      <objectVariable name=\"blipModelNode__parentNode__applicationNode\" incomingLink=\"//@ownedActivityNode.5/@storyPattern/@linkVariable.0\" outgoingLink=\"//@ownedActivityNode.5/@storyPattern/@linkVariable.2 //@ownedActivityNode.5/@storyPattern/@linkVariable.1\" bindingOperator=\"CREATE\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"http://www.moflon.org.TGGRuntime#//Edge\"/>\r\n        <attributeAssignment>\r\n          <attribute href=\"http://www.moflon.org.TGGRuntime#//Edge/name\"/>\r\n          <valueExpression xsi:type=\"expressions:LiteralExpression\" value=\"&quot;parentNode&quot;\"/>\r\n        </attributeAssignment>\r\n      </objectVariable>\r\n      <objectVariable name=\"blipModelNode__attribute__nameAttr\" incomingLink=\"//@ownedActivityNode.5/@storyPattern/@linkVariable.3\" outgoingLink=\"//@ownedActivityNode.5/@storyPattern/@linkVariable.5 //@ownedActivityNode.5/@storyPattern/@linkVariable.4\" bindingOperator=\"CREATE\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"http://www.moflon.org.TGGRuntime#//Edge\"/>\r\n        <attributeAssignment>\r\n          <attribute href=\"http://www.moflon.org.TGGRuntime#//Edge/name\"/>\r\n          <valueExpression xsi:type=\"expressions:LiteralExpression\" value=\"&quot;attribute&quot;\"/>\r\n        </attributeAssignment>\r\n      </objectVariable>\r\n      <objectVariable name=\"mModelToModel__source__blipModelNode\" incomingLink=\"//@ownedActivityNode.5/@storyPattern/@linkVariable.7\" outgoingLink=\"//@ownedActivityNode.5/@storyPattern/@linkVariable.6 //@ownedActivityNode.5/@storyPattern/@linkVariable.8\" bindingOperator=\"CREATE\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"http://www.moflon.org.TGGRuntime#//Edge\"/>\r\n        <attributeAssignment>\r\n          <attribute href=\"http://www.moflon.org.TGGRuntime#//Edge/name\"/>\r\n          <valueExpression xsi:type=\"expressions:LiteralExpression\" value=\"&quot;source&quot;\"/>\r\n        </attributeAssignment>\r\n      </objectVariable>\r\n      <objectVariable name=\"mModelToModel__target__blipModel\" incomingLink=\"//@ownedActivityNode.5/@storyPattern/@linkVariable.10\" outgoingLink=\"//@ownedActivityNode.5/@storyPattern/@linkVariable.9 //@ownedActivityNode.5/@storyPattern/@linkVariable.11\" bindingOperator=\"CREATE\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"http://www.moflon.org.TGGRuntime#//Edge\"/>\r\n        <attributeAssignment>\r\n          <attribute href=\"http://www.moflon.org.TGGRuntime#//Edge/name\"/>\r\n          <valueExpression xsi:type=\"expressions:LiteralExpression\" value=\"&quot;target&quot;\"/>\r\n        </attributeAssignment>\r\n      </objectVariable>\r\n      <objectVariable name=\"application__models__blipModel\" incomingLink=\"//@ownedActivityNode.5/@storyPattern/@linkVariable.13\" outgoingLink=\"//@ownedActivityNode.5/@storyPattern/@linkVariable.12 //@ownedActivityNode.5/@storyPattern/@linkVariable.14\" bindingOperator=\"CREATE\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"http://www.moflon.org.TGGRuntime#//Edge\"/>\r\n        <attributeAssignment>\r\n          <attribute href=\"http://www.moflon.org.TGGRuntime#//Edge/name\"/>\r\n          <valueExpression xsi:type=\"expressions:LiteralExpression\" value=\"&quot;models&quot;\"/>\r\n        </attributeAssignment>\r\n      </objectVariable>\r\n      <linkVariable name=\"translatedEdges\" target=\"//@ownedActivityNode.5/@storyPattern/@objectVariable.8\" source=\"//@ownedActivityNode.5/@storyPattern/@objectVariable.0\" bindingOperator=\"CREATE\"/>\r\n      <linkVariable name=\"trg\" target=\"//@ownedActivityNode.5/@storyPattern/@objectVariable.1\" source=\"//@ownedActivityNode.5/@storyPattern/@objectVariable.8\" bindingOperator=\"CREATE\"/>\r\n      <linkVariable name=\"src\" target=\"//@ownedActivityNode.5/@storyPattern/@objectVariable.2\" source=\"//@ownedActivityNode.5/@storyPattern/@objectVariable.8\" bindingOperator=\"CREATE\"/>\r\n      <linkVariable name=\"translatedEdges\" target=\"//@ownedActivityNode.5/@storyPattern/@objectVariable.9\" source=\"//@ownedActivityNode.5/@storyPattern/@objectVariable.0\" bindingOperator=\"CREATE\"/>\r\n      <linkVariable name=\"trg\" target=\"//@ownedActivityNode.5/@storyPattern/@objectVariable.3\" source=\"//@ownedActivityNode.5/@storyPattern/@objectVariable.9\" bindingOperator=\"CREATE\"/>\r\n      <linkVariable name=\"src\" target=\"//@ownedActivityNode.5/@storyPattern/@objectVariable.2\" source=\"//@ownedActivityNode.5/@storyPattern/@objectVariable.9\" bindingOperator=\"CREATE\"/>\r\n      <linkVariable name=\"trg\" target=\"//@ownedActivityNode.5/@storyPattern/@objectVariable.2\" source=\"//@ownedActivityNode.5/@storyPattern/@objectVariable.10\" bindingOperator=\"CREATE\"/>\r\n      <linkVariable name=\"createdEdges\" target=\"//@ownedActivityNode.5/@storyPattern/@objectVariable.10\" source=\"//@ownedActivityNode.5/@storyPattern/@objectVariable.0\" bindingOperator=\"CREATE\"/>\r\n      <linkVariable name=\"src\" target=\"//@ownedActivityNode.5/@storyPattern/@objectVariable.5\" source=\"//@ownedActivityNode.5/@storyPattern/@objectVariable.10\" bindingOperator=\"CREATE\"/>\r\n      <linkVariable name=\"trg\" target=\"//@ownedActivityNode.5/@storyPattern/@objectVariable.7\" source=\"//@ownedActivityNode.5/@storyPattern/@objectVariable.11\" bindingOperator=\"CREATE\"/>\r\n      <linkVariable name=\"createdEdges\" target=\"//@ownedActivityNode.5/@storyPattern/@objectVariable.11\" source=\"//@ownedActivityNode.5/@storyPattern/@objectVariable.0\" bindingOperator=\"CREATE\"/>\r\n      <linkVariable name=\"src\" target=\"//@ownedActivityNode.5/@storyPattern/@objectVariable.5\" source=\"//@ownedActivityNode.5/@storyPattern/@objectVariable.11\" bindingOperator=\"CREATE\"/>\r\n      <linkVariable name=\"trg\" target=\"//@ownedActivityNode.5/@storyPattern/@objectVariable.7\" source=\"//@ownedActivityNode.5/@storyPattern/@objectVariable.12\" bindingOperator=\"CREATE\"/>\r\n      <linkVariable name=\"createdEdges\" target=\"//@ownedActivityNode.5/@storyPattern/@objectVariable.12\" source=\"//@ownedActivityNode.5/@storyPattern/@objectVariable.0\" bindingOperator=\"CREATE\"/>\r\n      <linkVariable name=\"src\" target=\"//@ownedActivityNode.5/@storyPattern/@objectVariable.6\" source=\"//@ownedActivityNode.5/@storyPattern/@objectVariable.12\" bindingOperator=\"CREATE\"/>\r\n    </storyPattern>\r\n  </ownedActivityNode>\r\n  <ownedActivityEdge source=\"//@ownedActivityNode.3\" target=\"//@ownedActivityNode.1\"/>\r\n  <ownedActivityEdge source=\"//@ownedActivityNode.1\" target=\"//@ownedActivityNode.0\"/>\r\n  <ownedActivityEdge source=\"//@ownedActivityNode.4\" target=\"//@ownedActivityNode.2\"/>\r\n  <ownedActivityEdge source=\"//@ownedActivityNode.0\" target=\"//@ownedActivityNode.5\"/>\r\n  <ownedActivityEdge source=\"//@ownedActivityNode.5\" target=\"//@ownedActivityNode.4\"/>\r\n</activities:Activity>\r\n" });
		addAnnotation(
				getMModelToModelRule__IsAppropriate_FWD__Match_Node_Node_Attribute(),
				source,
				new String[] {
						"XMI",
						"<?xml version=\"1.0\" encoding=\"UTF-8\"?>\r\n<activities:Activity xmi:version=\"2.0\" xmlns:xmi=\"http://www.omg.org/XMI\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:activities=\"http://www.moflon.org.SDMLanguage.activities\" xmlns:ecore=\"http://www.eclipse.org/emf/2002/Ecore\" xmlns:expressions=\"http://www.moflon.org.SDMLanguage.expressions\">\r\n  <ownedActivityNode xsi:type=\"activities:StatementNode\" name=\"Check CSP\" outgoing=\"//@ownedActivityEdge.3 //@ownedActivityEdge.5\" incoming=\"//@ownedActivityEdge.1\">\r\n    <statementExpression xsi:type=\"expressions:LiteralExpression\" value=\"csp.check();\"/>\r\n  </ownedActivityNode>\r\n  <ownedActivityNode xsi:type=\"activities:StatementNode\" name=\"Solve CSP\" outgoing=\"//@ownedActivityEdge.1\" incoming=\"//@ownedActivityEdge.2\">\r\n    <statementExpression xsi:type=\"expressions:LiteralExpression\" value=\"// Create CSP&#xD;&#xA;CSP csp = CspFactory.eINSTANCE.createCSP();&#xD;&#xA;&#xD;&#xA;// Create literals&#xD;&#xA;&#xD;&#xA;// Create attribute variables&#xD;&#xA;&#xD;&#xA;// Create explicit parameters&#xD;&#xA;&#xD;&#xA;// Create unbound variables&#xD;&#xA;&#xD;&#xA;// Create constraints&#xD;&#xA;&#xD;&#xA;&#xD;&#xA;&#xD;&#xA;&#xD;&#xA;// Solve CSP&#xD;&#xA;\"/>\r\n  </ownedActivityNode>\r\n  <ownedActivityNode xsi:type=\"activities:StopNode\" incoming=\"//@ownedActivityEdge.3\">\r\n    <returnValue xsi:type=\"expressions:LiteralExpression\" value=\"false\"/>\r\n  </ownedActivityNode>\r\n  <ownedActivityNode xsi:type=\"activities:StoryNode\" name=\"collect elements to be translated\" outgoing=\"//@ownedActivityEdge.0\" incoming=\"//@ownedActivityEdge.5\">\r\n    <storyPattern>\r\n      <objectVariable name=\"match\" outgoingLink=\"//@ownedActivityNode.3/@storyPattern/@linkVariable.0 //@ownedActivityNode.3/@storyPattern/@linkVariable.1 //@ownedActivityNode.3/@storyPattern/@linkVariable.2 //@ownedActivityNode.3/@storyPattern/@linkVariable.5\" bindingState=\"BOUND\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"http://www.moflon.org.TGGRuntime#//Match\"/>\r\n      </objectVariable>\r\n      <objectVariable name=\"blipModelNode\" incomingLink=\"//@ownedActivityNode.3/@storyPattern/@linkVariable.0 //@ownedActivityNode.3/@storyPattern/@linkVariable.3 //@ownedActivityNode.3/@storyPattern/@linkVariable.6\" bindingState=\"BOUND\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"platform:/plugin/org.moflon.moca.MocaTree/model/MocaTree.ecore#//Node\"/>\r\n      </objectVariable>\r\n      <objectVariable name=\"nameAttr\" incomingLink=\"//@ownedActivityNode.3/@storyPattern/@linkVariable.1 //@ownedActivityNode.3/@storyPattern/@linkVariable.7\" bindingState=\"BOUND\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"platform:/plugin/org.moflon.moca.MocaTree/model/MocaTree.ecore#//Attribute\"/>\r\n      </objectVariable>\r\n      <objectVariable name=\"blipModelNode__parentNode__applicationNode\" incomingLink=\"//@ownedActivityNode.3/@storyPattern/@linkVariable.2\" outgoingLink=\"//@ownedActivityNode.3/@storyPattern/@linkVariable.3 //@ownedActivityNode.3/@storyPattern/@linkVariable.4\" bindingOperator=\"CREATE\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"http://www.moflon.org.TGGRuntime#//Edge\"/>\r\n        <attributeAssignment>\r\n          <attribute href=\"http://www.moflon.org.TGGRuntime#//Edge/name\"/>\r\n          <valueExpression xsi:type=\"expressions:LiteralExpression\" value=\"&quot;parentNode&quot;\"/>\r\n        </attributeAssignment>\r\n      </objectVariable>\r\n      <objectVariable name=\"applicationNode\" incomingLink=\"//@ownedActivityNode.3/@storyPattern/@linkVariable.4\" bindingState=\"BOUND\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"platform:/plugin/org.moflon.moca.MocaTree/model/MocaTree.ecore#//Node\"/>\r\n      </objectVariable>\r\n      <objectVariable name=\"blipModelNode__attribute__nameAttr\" incomingLink=\"//@ownedActivityNode.3/@storyPattern/@linkVariable.5\" outgoingLink=\"//@ownedActivityNode.3/@storyPattern/@linkVariable.6 //@ownedActivityNode.3/@storyPattern/@linkVariable.7\" bindingOperator=\"CREATE\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"http://www.moflon.org.TGGRuntime#//Edge\"/>\r\n        <attributeAssignment>\r\n          <attribute href=\"http://www.moflon.org.TGGRuntime#//Edge/name\"/>\r\n          <valueExpression xsi:type=\"expressions:LiteralExpression\" value=\"&quot;attribute&quot;\"/>\r\n        </attributeAssignment>\r\n      </objectVariable>\r\n      <linkVariable name=\"toBeTranslatedElements\" target=\"//@ownedActivityNode.3/@storyPattern/@objectVariable.1\" source=\"//@ownedActivityNode.3/@storyPattern/@objectVariable.0\" bindingOperator=\"CREATE\"/>\r\n      <linkVariable name=\"toBeTranslatedElements\" target=\"//@ownedActivityNode.3/@storyPattern/@objectVariable.2\" source=\"//@ownedActivityNode.3/@storyPattern/@objectVariable.0\" bindingOperator=\"CREATE\"/>\r\n      <linkVariable name=\"toBeTranslatedEdges\" target=\"//@ownedActivityNode.3/@storyPattern/@objectVariable.3\" source=\"//@ownedActivityNode.3/@storyPattern/@objectVariable.0\" bindingOperator=\"CREATE\"/>\r\n      <linkVariable name=\"src\" target=\"//@ownedActivityNode.3/@storyPattern/@objectVariable.1\" source=\"//@ownedActivityNode.3/@storyPattern/@objectVariable.3\" bindingOperator=\"CREATE\"/>\r\n      <linkVariable name=\"trg\" target=\"//@ownedActivityNode.3/@storyPattern/@objectVariable.4\" source=\"//@ownedActivityNode.3/@storyPattern/@objectVariable.3\" bindingOperator=\"CREATE\"/>\r\n      <linkVariable name=\"toBeTranslatedEdges\" target=\"//@ownedActivityNode.3/@storyPattern/@objectVariable.5\" source=\"//@ownedActivityNode.3/@storyPattern/@objectVariable.0\" bindingOperator=\"CREATE\"/>\r\n      <linkVariable name=\"src\" target=\"//@ownedActivityNode.3/@storyPattern/@objectVariable.1\" source=\"//@ownedActivityNode.3/@storyPattern/@objectVariable.5\" bindingOperator=\"CREATE\"/>\r\n      <linkVariable name=\"trg\" target=\"//@ownedActivityNode.3/@storyPattern/@objectVariable.2\" source=\"//@ownedActivityNode.3/@storyPattern/@objectVariable.5\" bindingOperator=\"CREATE\"/>\r\n    </storyPattern>\r\n  </ownedActivityNode>\r\n  <ownedActivityNode xsi:type=\"activities:StartNode\" outgoing=\"//@ownedActivityEdge.2\"/>\r\n  <ownedActivityNode xsi:type=\"activities:StoryNode\" name=\"collect context elements\" outgoing=\"//@ownedActivityEdge.4\" incoming=\"//@ownedActivityEdge.0\">\r\n    <storyPattern>\r\n      <objectVariable name=\"match\" outgoingLink=\"//@ownedActivityNode.5/@storyPattern/@linkVariable.0\" bindingState=\"BOUND\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"http://www.moflon.org.TGGRuntime#//Match\"/>\r\n      </objectVariable>\r\n      <objectVariable name=\"applicationNode\" incomingLink=\"//@ownedActivityNode.5/@storyPattern/@linkVariable.0\" bindingState=\"BOUND\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"platform:/plugin/org.moflon.moca.MocaTree/model/MocaTree.ecore#//Node\"/>\r\n      </objectVariable>\r\n      <linkVariable name=\"contextNodes\" target=\"//@ownedActivityNode.5/@storyPattern/@objectVariable.1\" source=\"//@ownedActivityNode.5/@storyPattern/@objectVariable.0\" bindingOperator=\"CREATE\"/>\r\n    </storyPattern>\r\n  </ownedActivityNode>\r\n  <ownedActivityNode xsi:type=\"activities:StopNode\" incoming=\"//@ownedActivityEdge.6\">\r\n    <returnValue xsi:type=\"expressions:LiteralExpression\" value=\"true\"/>\r\n  </ownedActivityNode>\r\n  <ownedActivityNode xsi:type=\"activities:StatementNode\" name=\"register objects to match\" outgoing=\"//@ownedActivityEdge.6\" incoming=\"//@ownedActivityEdge.4\">\r\n    <statementExpression xsi:type=\"expressions:LiteralExpression\" value=\"match.registerObject(&quot;applicationNode&quot;, applicationNode);&#xA;match.registerObject(&quot;blipModelNode&quot;, blipModelNode);&#xA;match.registerObject(&quot;nameAttr&quot;, nameAttr);&#xA;\"/>\r\n  </ownedActivityNode>\r\n  <ownedActivityEdge source=\"//@ownedActivityNode.3\" target=\"//@ownedActivityNode.5\"/>\r\n  <ownedActivityEdge source=\"//@ownedActivityNode.1\" target=\"//@ownedActivityNode.0\"/>\r\n  <ownedActivityEdge source=\"//@ownedActivityNode.4\" target=\"//@ownedActivityNode.1\"/>\r\n  <ownedActivityEdge source=\"//@ownedActivityNode.0\" target=\"//@ownedActivityNode.2\" guard=\"FAILURE\"/>\r\n  <ownedActivityEdge source=\"//@ownedActivityNode.5\" target=\"//@ownedActivityNode.7\"/>\r\n  <ownedActivityEdge source=\"//@ownedActivityNode.0\" target=\"//@ownedActivityNode.3\" guard=\"SUCCESS\"/>\r\n  <ownedActivityEdge source=\"//@ownedActivityNode.7\" target=\"//@ownedActivityNode.6\"/>\r\n</activities:Activity>\r\n" });
		addAnnotation(
				getMModelToModelRule__IsApplicable_FWD__Match(),
				source,
				new String[] {
						"XMI",
						"<?xml version=\"1.0\" encoding=\"UTF-8\"?>\r\n<activities:Activity xmi:version=\"2.0\" xmlns:xmi=\"http://www.omg.org/XMI\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:TGGLanguage=\"http://www.moflon.org.TGGLanguage\" xmlns:activities=\"http://www.moflon.org.SDMLanguage.activities\" xmlns:csp=\"http://www.moflon.org.TGGLanguage.csp\" xmlns:ecore=\"http://www.eclipse.org/emf/2002/Ecore\" xmlns:expressions=\"http://www.moflon.org.SDMLanguage.expressions\" xmlns:patternExpressions=\"http://www.moflon.org.SDMLanguage.patterns.patternExpressions\">\r\n  <ownedActivityNode xsi:type=\"activities:StoryNode\" name=\"core match\" outgoing=\"//@ownedActivityEdge.8\" incoming=\"//@ownedActivityEdge.2\">\r\n    <storyPattern xsi:type=\"TGGLanguage:TGGRule\" name=\"MModelToModelRule\" cspSpec=\"&#xD;&#xA;&#x9;&#x9;eq(nameAttr.value, blipModel.name)&#xD;&#xA;&#x9;\">\r\n      <objectVariable xsi:type=\"TGGLanguage:TGGObjectVariable\" name=\"applicationNode\" bindingState=\"BOUND\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"platform:/plugin/org.moflon.moca.MocaTree/model/MocaTree.ecore#//Node\"/>\r\n        <bindingExpression xsi:type=\"expressions:LiteralExpression\" value=\"match.getObject(&quot;applicationNode&quot;)\"/>\r\n        <domain href=\"platform:/resource/BlipTGG/model/BlipTGG.tgg.xmi#//@domain.0\"/>\r\n      </objectVariable>\r\n      <objectVariable xsi:type=\"TGGLanguage:TGGObjectVariable\" name=\"blipModelNode\" bindingState=\"BOUND\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"platform:/plugin/org.moflon.moca.MocaTree/model/MocaTree.ecore#//Node\"/>\r\n        <bindingExpression xsi:type=\"expressions:LiteralExpression\" value=\"match.getObject(&quot;blipModelNode&quot;)\"/>\r\n        <constraint>\r\n          <constraintExpression xsi:type=\"expressions:ComparisonExpression\" operator=\"EQUAL\">\r\n            <rightExpression xsi:type=\"expressions:LiteralExpression\" value=\"&quot;Model&quot;\"/>\r\n            <leftExpression xsi:type=\"patternExpressions:AttributeValueExpression\">\r\n              <attribute href=\"platform:/plugin/org.moflon.moca.MocaTree/model/MocaTree.ecore#//TreeElement/name\"/>\r\n            </leftExpression>\r\n          </constraintExpression>\r\n        </constraint>\r\n        <domain href=\"platform:/resource/BlipTGG/model/BlipTGG.tgg.xmi#//@domain.0\"/>\r\n      </objectVariable>\r\n      <objectVariable xsi:type=\"TGGLanguage:TGGObjectVariable\" name=\"nameAttr\" bindingState=\"BOUND\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"platform:/plugin/org.moflon.moca.MocaTree/model/MocaTree.ecore#//Attribute\"/>\r\n        <bindingExpression xsi:type=\"expressions:LiteralExpression\" value=\"match.getObject(&quot;nameAttr&quot;)\"/>\r\n        <constraint>\r\n          <constraintExpression xsi:type=\"expressions:ComparisonExpression\" operator=\"EQUAL\">\r\n            <rightExpression xsi:type=\"expressions:LiteralExpression\" value=\"&quot;name&quot;\"/>\r\n            <leftExpression xsi:type=\"patternExpressions:AttributeValueExpression\">\r\n              <attribute href=\"platform:/plugin/org.moflon.moca.MocaTree/model/MocaTree.ecore#//TreeElement/name\"/>\r\n            </leftExpression>\r\n          </constraintExpression>\r\n        </constraint>\r\n        <domain href=\"platform:/resource/BlipTGG/model/BlipTGG.tgg.xmi#//@domain.0\"/>\r\n      </objectVariable>\r\n      <objectVariable name=\"match\" bindingState=\"BOUND\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"http://www.moflon.org.TGGRuntime#//Match\"/>\r\n      </objectVariable>\r\n      <correspondence href=\"platform:/resource/BlipTGG/model/BlipTGG.tgg.xmi#//@domain.2\"/>\r\n      <source href=\"platform:/resource/BlipTGG/model/BlipTGG.tgg.xmi#//@domain.0\"/>\r\n      <csp>\r\n        <constraints variables=\"//@ownedActivityNode.0/@storyPattern/@csp/@variables.0 //@ownedActivityNode.0/@storyPattern/@csp/@variables.1\" name=\"eq\">\r\n          <allowedAdornments value=\"BB\"/>\r\n          <allowedAdornments value=\"BF\"/>\r\n          <allowedAdornments value=\"FB\"/>\r\n        </constraints>\r\n        <variables xsi:type=\"csp:AttributeVariable\" type=\"String\" attribute=\"value\" objectVariable=\"nameAttr\"/>\r\n        <variables xsi:type=\"csp:AttributeVariable\" type=\"String\" attribute=\"name\" objectVariable=\"blipModel\"/>\r\n      </csp>\r\n      <target href=\"platform:/resource/BlipTGG/model/BlipTGG.tgg.xmi#//@domain.1\"/>\r\n    </storyPattern>\r\n  </ownedActivityNode>\r\n  <ownedActivityNode xsi:type=\"activities:StoryNode\" name=\"prepare return value\" outgoing=\"//@ownedActivityEdge.2\" incoming=\"//@ownedActivityEdge.4\">\r\n    <storyPattern>\r\n      <objectVariable name=\"ruleresult\" outgoingLink=\"//@ownedActivityNode.1/@storyPattern/@linkVariable.1\" bindingOperator=\"CREATE\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"http://www.moflon.org.TGGRuntime#//IsApplicableRuleResult\"/>\r\n        <attributeAssignment>\r\n          <attribute href=\"http://www.moflon.org.TGGRuntime#//RuleResult/success\"/>\r\n          <valueExpression xsi:type=\"expressions:LiteralExpression\" value=\"false\"/>\r\n        </attributeAssignment>\r\n        <attributeAssignment>\r\n          <attribute href=\"http://www.moflon.org.TGGRuntime#//RuleResult/rule\"/>\r\n          <valueExpression xsi:type=\"expressions:LiteralExpression\" value=\"&quot;MModelToModelRule&quot;\"/>\r\n        </attributeAssignment>\r\n      </objectVariable>\r\n      <objectVariable name=\"performOperation\" incomingLink=\"//@ownedActivityNode.1/@storyPattern/@linkVariable.0 //@ownedActivityNode.1/@storyPattern/@linkVariable.1\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"http://www.eclipse.org/emf/2002/Ecore#//EOperation\"/>\r\n        <constraint>\r\n          <constraintExpression xsi:type=\"expressions:ComparisonExpression\" operator=\"EQUAL\">\r\n            <rightExpression xsi:type=\"expressions:LiteralExpression\" value=\"&quot;perform_FWD&quot;\"/>\r\n            <leftExpression xsi:type=\"patternExpressions:AttributeValueExpression\" object=\"//@ownedActivityNode.1/@storyPattern/@objectVariable.1\">\r\n              <attribute href=\"http://www.eclipse.org/emf/2002/Ecore#//ENamedElement/name\"/>\r\n            </leftExpression>\r\n          </constraintExpression>\r\n        </constraint>\r\n      </objectVariable>\r\n      <objectVariable name=\"eClass\" outgoingLink=\"//@ownedActivityNode.1/@storyPattern/@linkVariable.0\" bindingState=\"BOUND\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"http://www.eclipse.org/emf/2002/Ecore#//EClass\"/>\r\n        <bindingExpression xsi:type=\"expressions:LiteralExpression\" value=\"this.eClass()\"/>\r\n      </objectVariable>\r\n      <linkVariable name=\"eOperations\" target=\"//@ownedActivityNode.1/@storyPattern/@objectVariable.1\" source=\"//@ownedActivityNode.1/@storyPattern/@objectVariable.2\"/>\r\n      <linkVariable name=\"performOperation\" target=\"//@ownedActivityNode.1/@storyPattern/@objectVariable.1\" source=\"//@ownedActivityNode.1/@storyPattern/@objectVariable.0\" bindingOperator=\"CREATE\"/>\r\n    </storyPattern>\r\n  </ownedActivityNode>\r\n  <ownedActivityNode xsi:type=\"activities:StopNode\" incoming=\"//@ownedActivityEdge.5\">\r\n    <returnValue xsi:type=\"patternExpressions:ObjectVariableExpression\" object=\"//@ownedActivityNode.1/@storyPattern/@objectVariable.0\"/>\r\n  </ownedActivityNode>\r\n  <ownedActivityNode xsi:type=\"activities:StoryNode\" name=\"find context\" outgoing=\"//@ownedActivityEdge.5 //@ownedActivityEdge.7\" incoming=\"//@ownedActivityEdge.0 //@ownedActivityEdge.3 //@ownedActivityEdge.8\" forEach=\"true\">\r\n    <storyPattern xsi:type=\"TGGLanguage:TGGRule\" name=\"MModelToModelRule\" cspSpec=\"&#xD;&#xA;&#x9;&#x9;eq(nameAttr.value, blipModel.name)&#xD;&#xA;&#x9;\">\r\n      <objectVariable xsi:type=\"TGGLanguage:TGGObjectVariable\" name=\"applicationNode\" incomingLink=\"//@ownedActivityNode.3/@storyPattern/@linkVariable.0 //@ownedActivityNode.3/@storyPattern/@linkVariable.2\" bindingState=\"BOUND\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"platform:/plugin/org.moflon.moca.MocaTree/model/MocaTree.ecore#//Node\"/>\r\n        <domain href=\"platform:/resource/BlipTGG/model/BlipTGG.tgg.xmi#//@domain.0\"/>\r\n      </objectVariable>\r\n      <objectVariable xsi:type=\"TGGLanguage:TGGObjectVariable\" name=\"blipModelNode\" outgoingLink=\"//@ownedActivityNode.3/@storyPattern/@linkVariable.0 //@ownedActivityNode.3/@storyPattern/@linkVariable.1\" bindingState=\"BOUND\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"platform:/plugin/org.moflon.moca.MocaTree/model/MocaTree.ecore#//Node\"/>\r\n        <constraint>\r\n          <constraintExpression xsi:type=\"expressions:ComparisonExpression\" operator=\"EQUAL\">\r\n            <rightExpression xsi:type=\"expressions:LiteralExpression\" value=\"&quot;Model&quot;\"/>\r\n            <leftExpression xsi:type=\"patternExpressions:AttributeValueExpression\">\r\n              <attribute href=\"platform:/plugin/org.moflon.moca.MocaTree/model/MocaTree.ecore#//TreeElement/name\"/>\r\n            </leftExpression>\r\n          </constraintExpression>\r\n        </constraint>\r\n        <domain href=\"platform:/resource/BlipTGG/model/BlipTGG.tgg.xmi#//@domain.0\"/>\r\n      </objectVariable>\r\n      <objectVariable xsi:type=\"TGGLanguage:TGGObjectVariable\" name=\"nameAttr\" incomingLink=\"//@ownedActivityNode.3/@storyPattern/@linkVariable.1\" bindingState=\"BOUND\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"platform:/plugin/org.moflon.moca.MocaTree/model/MocaTree.ecore#//Attribute\"/>\r\n        <constraint>\r\n          <constraintExpression xsi:type=\"expressions:ComparisonExpression\" operator=\"EQUAL\">\r\n            <rightExpression xsi:type=\"expressions:LiteralExpression\" value=\"&quot;name&quot;\"/>\r\n            <leftExpression xsi:type=\"patternExpressions:AttributeValueExpression\">\r\n              <attribute href=\"platform:/plugin/org.moflon.moca.MocaTree/model/MocaTree.ecore#//TreeElement/name\"/>\r\n            </leftExpression>\r\n          </constraintExpression>\r\n        </constraint>\r\n        <domain href=\"platform:/resource/BlipTGG/model/BlipTGG.tgg.xmi#//@domain.0\"/>\r\n      </objectVariable>\r\n      <objectVariable xsi:type=\"TGGLanguage:TGGObjectVariable\" name=\"mApplicationToApplication\" outgoingLink=\"//@ownedActivityNode.3/@storyPattern/@linkVariable.2 //@ownedActivityNode.3/@storyPattern/@linkVariable.3\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"http://www.moflon.org.BlipTGG#//MApplicationToApplication\"/>\r\n        <domain href=\"platform:/resource/BlipTGG/model/BlipTGG.tgg.xmi#//@domain.2\"/>\r\n      </objectVariable>\r\n      <objectVariable xsi:type=\"TGGLanguage:TGGObjectVariable\" name=\"application\" incomingLink=\"//@ownedActivityNode.3/@storyPattern/@linkVariable.3\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"platform:/resource/BlipLanguage/model/BlipLanguage.ecore#//BlipApplication\"/>\r\n        <domain href=\"platform:/resource/BlipTGG/model/BlipTGG.tgg.xmi#//@domain.1\"/>\r\n      </objectVariable>\r\n      <objectVariable name=\"isApplicableMatch\" bindingOperator=\"CREATE\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"http://www.moflon.org.TGGRuntime#//IsApplicableMatch\"/>\r\n      </objectVariable>\r\n      <linkVariable xsi:type=\"TGGLanguage:TGGLinkVariable\" name=\"parentNode\" target=\"//@ownedActivityNode.3/@storyPattern/@objectVariable.0\" source=\"//@ownedActivityNode.3/@storyPattern/@objectVariable.1\">\r\n        <domain href=\"platform:/resource/BlipTGG/model/BlipTGG.tgg.xmi#//@domain.0\"/>\r\n      </linkVariable>\r\n      <linkVariable xsi:type=\"TGGLanguage:TGGLinkVariable\" name=\"attribute\" target=\"//@ownedActivityNode.3/@storyPattern/@objectVariable.2\" source=\"//@ownedActivityNode.3/@storyPattern/@objectVariable.1\">\r\n        <domain href=\"platform:/resource/BlipTGG/model/BlipTGG.tgg.xmi#//@domain.0\"/>\r\n      </linkVariable>\r\n      <linkVariable xsi:type=\"TGGLanguage:TGGLinkVariable\" name=\"source\" target=\"//@ownedActivityNode.3/@storyPattern/@objectVariable.0\" source=\"//@ownedActivityNode.3/@storyPattern/@objectVariable.3\">\r\n        <domain href=\"platform:/resource/BlipTGG/model/BlipTGG.tgg.xmi#//@domain.2\"/>\r\n      </linkVariable>\r\n      <linkVariable xsi:type=\"TGGLanguage:TGGLinkVariable\" name=\"target\" target=\"//@ownedActivityNode.3/@storyPattern/@objectVariable.4\" source=\"//@ownedActivityNode.3/@storyPattern/@objectVariable.3\">\r\n        <domain href=\"platform:/resource/BlipTGG/model/BlipTGG.tgg.xmi#//@domain.2\"/>\r\n      </linkVariable>\r\n      <correspondence href=\"platform:/resource/BlipTGG/model/BlipTGG.tgg.xmi#//@domain.2\"/>\r\n      <source href=\"platform:/resource/BlipTGG/model/BlipTGG.tgg.xmi#//@domain.0\"/>\r\n      <csp>\r\n        <constraints variables=\"//@ownedActivityNode.3/@storyPattern/@csp/@variables.0 //@ownedActivityNode.3/@storyPattern/@csp/@variables.1\" name=\"eq\">\r\n          <allowedAdornments value=\"BB\"/>\r\n          <allowedAdornments value=\"BF\"/>\r\n          <allowedAdornments value=\"FB\"/>\r\n        </constraints>\r\n        <variables xsi:type=\"csp:AttributeVariable\" type=\"String\" attribute=\"value\" objectVariable=\"nameAttr\"/>\r\n        <variables xsi:type=\"csp:AttributeVariable\" type=\"String\" attribute=\"name\" objectVariable=\"blipModel\"/>\r\n      </csp>\r\n      <target href=\"platform:/resource/BlipTGG/model/BlipTGG.tgg.xmi#//@domain.1\"/>\r\n    </storyPattern>\r\n  </ownedActivityNode>\r\n  <ownedActivityNode xsi:type=\"activities:StoryNode\" name=\"add match to rule result\" outgoing=\"//@ownedActivityEdge.3\" incoming=\"//@ownedActivityEdge.6\">\r\n    <storyPattern>\r\n      <objectVariable name=\"isApplicableMatch\" incomingLink=\"//@ownedActivityNode.4/@storyPattern/@linkVariable.0\" bindingState=\"BOUND\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"http://www.moflon.org.TGGRuntime#//IsApplicableMatch\"/>\r\n      </objectVariable>\r\n      <objectVariable name=\"ruleresult\" outgoingLink=\"//@ownedActivityNode.4/@storyPattern/@linkVariable.0\" bindingState=\"BOUND\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"http://www.moflon.org.TGGRuntime#//IsApplicableRuleResult\"/>\r\n        <attributeAssignment>\r\n          <attribute href=\"http://www.moflon.org.TGGRuntime#//RuleResult/success\"/>\r\n          <valueExpression xsi:type=\"expressions:LiteralExpression\" value=\"true\"/>\r\n        </attributeAssignment>\r\n      </objectVariable>\r\n      <linkVariable name=\"isApplicableMatch\" target=\"//@ownedActivityNode.4/@storyPattern/@objectVariable.0\" source=\"//@ownedActivityNode.4/@storyPattern/@objectVariable.1\" bindingOperator=\"CREATE\"/>\r\n    </storyPattern>\r\n  </ownedActivityNode>\r\n  <ownedActivityNode xsi:type=\"activities:StatementNode\" name=\"check CSP\" outgoing=\"//@ownedActivityEdge.0 //@ownedActivityEdge.6\" incoming=\"//@ownedActivityEdge.1\">\r\n    <statementExpression xsi:type=\"expressions:LiteralExpression\" value=\"csp.check();\"/>\r\n  </ownedActivityNode>\r\n  <ownedActivityNode xsi:type=\"activities:StatementNode\" name=\"solve CSP\" outgoing=\"//@ownedActivityEdge.1\" incoming=\"//@ownedActivityEdge.7\">\r\n    <statementExpression xsi:type=\"expressions:LiteralExpression\" value=\"// Create CSP&#xD;&#xA;CSP csp = CspFactory.eINSTANCE.createCSP();&#xD;&#xA;isApplicableMatch.getAttributeInfo().add(csp);&#xD;&#xA;&#xD;&#xA;// Create literals&#xD;&#xA;&#xD;&#xA;// Create attribute variables&#xD;&#xA;Variable&lt;String> var_nameAttr_value = CspFactory.eINSTANCE.createVariable(&quot;nameAttr.value&quot;, true, csp);&#xD;&#xA;var_nameAttr_value.setValue(nameAttr.getValue());&#xD;&#xA;&#xD;&#xA;// Create explicit parameters&#xD;&#xA;&#xD;&#xA;// Create unbound variables&#xD;&#xA;Variable&lt;String> var_blipModel_name = CspFactory.eINSTANCE.createVariable(&quot;blipModel.name&quot;, csp);&#xD;&#xA;&#xD;&#xA;// Create constraints&#xD;&#xA;Eq&lt;String> eq = new Eq&lt;String>();&#xD;&#xA;&#xD;&#xA;csp.getConstraints().add(eq);&#xD;&#xA;&#xD;&#xA;// Solve CSP&#xD;&#xA;eq.setRuleName(&quot;&quot;);&#xD;&#xA;eq.solve(var_nameAttr_value,var_blipModel_name);&#xD;&#xA;&#xD;&#xA;// Snapshot pattern match on which CSP is solved&#xD;&#xA;isApplicableMatch.registerObject(&quot;applicationNode&quot;,applicationNode);&#xD;&#xA;isApplicableMatch.registerObject(&quot;blipModelNode&quot;,blipModelNode);&#xD;&#xA;isApplicableMatch.registerObject(&quot;nameAttr&quot;,nameAttr);&#xD;&#xA;isApplicableMatch.registerObject(&quot;mApplicationToApplication&quot;,mApplicationToApplication);&#xD;&#xA;isApplicableMatch.registerObject(&quot;application&quot;,application);&#xD;&#xA;\"/>\r\n  </ownedActivityNode>\r\n  <ownedActivityNode xsi:type=\"activities:StartNode\" outgoing=\"//@ownedActivityEdge.4\"/>\r\n  <ownedActivityEdge source=\"//@ownedActivityNode.5\" target=\"//@ownedActivityNode.3\" guard=\"FAILURE\"/>\r\n  <ownedActivityEdge source=\"//@ownedActivityNode.6\" target=\"//@ownedActivityNode.5\"/>\r\n  <ownedActivityEdge source=\"//@ownedActivityNode.1\" target=\"//@ownedActivityNode.0\"/>\r\n  <ownedActivityEdge source=\"//@ownedActivityNode.4\" target=\"//@ownedActivityNode.3\"/>\r\n  <ownedActivityEdge source=\"//@ownedActivityNode.7\" target=\"//@ownedActivityNode.1\"/>\r\n  <ownedActivityEdge source=\"//@ownedActivityNode.3\" target=\"//@ownedActivityNode.2\" guard=\"END\"/>\r\n  <ownedActivityEdge source=\"//@ownedActivityNode.5\" target=\"//@ownedActivityNode.4\" guard=\"SUCCESS\"/>\r\n  <ownedActivityEdge source=\"//@ownedActivityNode.3\" target=\"//@ownedActivityNode.6\" guard=\"EACH_TIME\"/>\r\n  <ownedActivityEdge source=\"//@ownedActivityNode.0\" target=\"//@ownedActivityNode.3\"/>\r\n</activities:Activity>\r\n" });
		addAnnotation(
				getMModelToModelRule__Perform_BWD__IsApplicableMatch(),
				source,
				new String[] {
						"XMI",
						"<?xml version=\"1.0\" encoding=\"UTF-8\"?>\r\n<activities:Activity xmi:version=\"2.0\" xmlns:xmi=\"http://www.omg.org/XMI\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:TGGLanguage=\"http://www.moflon.org.TGGLanguage\" xmlns:activities=\"http://www.moflon.org.SDMLanguage.activities\" xmlns:csp=\"http://www.moflon.org.TGGLanguage.csp\" xmlns:ecore=\"http://www.eclipse.org/emf/2002/Ecore\" xmlns:expressions=\"http://www.moflon.org.SDMLanguage.expressions\" xmlns:patternExpressions=\"http://www.moflon.org.SDMLanguage.patterns.patternExpressions\">\r\n  <ownedActivityNode xsi:type=\"activities:StoryNode\" name=\"collect translated elements\" outgoing=\"//@ownedActivityEdge.3\" incoming=\"//@ownedActivityEdge.1\">\r\n    <storyPattern>\r\n      <objectVariable name=\"ruleresult\" outgoingLink=\"//@ownedActivityNode.0/@storyPattern/@linkVariable.0 //@ownedActivityNode.0/@storyPattern/@linkVariable.1 //@ownedActivityNode.0/@storyPattern/@linkVariable.2 //@ownedActivityNode.0/@storyPattern/@linkVariable.3\" bindingOperator=\"CREATE\" bindingState=\"BOUND\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"http://www.moflon.org.TGGRuntime#//PerformRuleResult\"/>\r\n        <attributeAssignment>\r\n          <attribute href=\"http://www.moflon.org.TGGRuntime#//RuleResult/success\"/>\r\n          <valueExpression xsi:type=\"expressions:LiteralExpression\" value=\"true\"/>\r\n        </attributeAssignment>\r\n      </objectVariable>\r\n      <objectVariable name=\"blipModelNode\" incomingLink=\"//@ownedActivityNode.0/@storyPattern/@linkVariable.0\" bindingState=\"BOUND\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"platform:/plugin/org.moflon.moca.MocaTree/model/MocaTree.ecore#//Node\"/>\r\n      </objectVariable>\r\n      <objectVariable name=\"nameAttr\" incomingLink=\"//@ownedActivityNode.0/@storyPattern/@linkVariable.1\" bindingState=\"BOUND\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"platform:/plugin/org.moflon.moca.MocaTree/model/MocaTree.ecore#//Attribute\"/>\r\n      </objectVariable>\r\n      <objectVariable name=\"mModelToModel\" incomingLink=\"//@ownedActivityNode.0/@storyPattern/@linkVariable.2\" bindingState=\"BOUND\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"http://www.moflon.org.BlipTGG#//MModelToModel\"/>\r\n      </objectVariable>\r\n      <objectVariable name=\"blipModel\" incomingLink=\"//@ownedActivityNode.0/@storyPattern/@linkVariable.3\" bindingState=\"BOUND\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"platform:/resource/BlipLanguage/model/BlipLanguage.ecore#//BlipModel\"/>\r\n      </objectVariable>\r\n      <linkVariable name=\"createdElements\" target=\"//@ownedActivityNode.0/@storyPattern/@objectVariable.1\" source=\"//@ownedActivityNode.0/@storyPattern/@objectVariable.0\" bindingOperator=\"CREATE\"/>\r\n      <linkVariable name=\"createdElements\" target=\"//@ownedActivityNode.0/@storyPattern/@objectVariable.2\" source=\"//@ownedActivityNode.0/@storyPattern/@objectVariable.0\" bindingOperator=\"CREATE\"/>\r\n      <linkVariable name=\"createdLinkElements\" target=\"//@ownedActivityNode.0/@storyPattern/@objectVariable.3\" source=\"//@ownedActivityNode.0/@storyPattern/@objectVariable.0\" bindingOperator=\"CREATE\"/>\r\n      <linkVariable name=\"translatedElements\" target=\"//@ownedActivityNode.0/@storyPattern/@objectVariable.4\" source=\"//@ownedActivityNode.0/@storyPattern/@objectVariable.0\" bindingOperator=\"CREATE\"/>\r\n    </storyPattern>\r\n  </ownedActivityNode>\r\n  <ownedActivityNode xsi:type=\"activities:StoryNode\" name=\"perform transformation\" outgoing=\"//@ownedActivityEdge.1\" incoming=\"//@ownedActivityEdge.0\">\r\n    <storyPattern xsi:type=\"TGGLanguage:TGGRule\" name=\"MModelToModelRule\" cspSpec=\"&#xD;&#xA;&#x9;&#x9;eq(nameAttr.value, blipModel.name)&#xD;&#xA;&#x9;\">\r\n      <objectVariable xsi:type=\"TGGLanguage:TGGObjectVariable\" name=\"applicationNode\" incomingLink=\"//@ownedActivityNode.1/@storyPattern/@linkVariable.0\" bindingState=\"BOUND\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"platform:/plugin/org.moflon.moca.MocaTree/model/MocaTree.ecore#//Node\"/>\r\n        <bindingExpression xsi:type=\"expressions:LiteralExpression\" value=\"isApplicableMatch.getObject(&quot;applicationNode&quot;)\"/>\r\n        <domain href=\"platform:/resource/BlipTGG/model/BlipTGG.tgg.xmi#//@domain.0\"/>\r\n      </objectVariable>\r\n      <objectVariable xsi:type=\"TGGLanguage:TGGObjectVariable\" name=\"blipModelNode\" incomingLink=\"//@ownedActivityNode.1/@storyPattern/@linkVariable.2\" outgoingLink=\"//@ownedActivityNode.1/@storyPattern/@linkVariable.0 //@ownedActivityNode.1/@storyPattern/@linkVariable.1\" bindingOperator=\"CREATE\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"platform:/plugin/org.moflon.moca.MocaTree/model/MocaTree.ecore#//Node\"/>\r\n        <attributeAssignment>\r\n          <attribute href=\"platform:/plugin/org.moflon.moca.MocaTree/model/MocaTree.ecore#//TreeElement/name\"/>\r\n          <valueExpression xsi:type=\"expressions:LiteralExpression\" value=\"&quot;Model&quot;\"/>\r\n        </attributeAssignment>\r\n        <domain href=\"platform:/resource/BlipTGG/model/BlipTGG.tgg.xmi#//@domain.0\"/>\r\n      </objectVariable>\r\n      <objectVariable xsi:type=\"TGGLanguage:TGGObjectVariable\" name=\"nameAttr\" incomingLink=\"//@ownedActivityNode.1/@storyPattern/@linkVariable.1\" bindingOperator=\"CREATE\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"platform:/plugin/org.moflon.moca.MocaTree/model/MocaTree.ecore#//Attribute\"/>\r\n        <attributeAssignment>\r\n          <attribute href=\"platform:/plugin/org.moflon.moca.MocaTree/model/MocaTree.ecore#//TreeElement/name\"/>\r\n          <valueExpression xsi:type=\"expressions:LiteralExpression\" value=\"&quot;name&quot;\"/>\r\n        </attributeAssignment>\r\n        <attributeAssignment>\r\n          <attribute href=\"platform:/plugin/org.moflon.moca.MocaTree/model/MocaTree.ecore#//Attribute/value\"/>\r\n          <valueExpression xsi:type=\"expressions:LiteralExpression\" value=\"(java.lang.String)csp.getAttributeVariable(&quot;nameAttr&quot;,&quot;value&quot;).getValue()\"/>\r\n        </attributeAssignment>\r\n        <domain href=\"platform:/resource/BlipTGG/model/BlipTGG.tgg.xmi#//@domain.0\"/>\r\n      </objectVariable>\r\n      <objectVariable xsi:type=\"TGGLanguage:TGGObjectVariable\" name=\"mApplicationToApplication\" bindingState=\"BOUND\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"http://www.moflon.org.BlipTGG#//MApplicationToApplication\"/>\r\n        <bindingExpression xsi:type=\"expressions:LiteralExpression\" value=\"isApplicableMatch.getObject(&quot;mApplicationToApplication&quot;)\"/>\r\n        <domain href=\"platform:/resource/BlipTGG/model/BlipTGG.tgg.xmi#//@domain.2\"/>\r\n      </objectVariable>\r\n      <objectVariable xsi:type=\"TGGLanguage:TGGObjectVariable\" name=\"mModelToModel\" outgoingLink=\"//@ownedActivityNode.1/@storyPattern/@linkVariable.2 //@ownedActivityNode.1/@storyPattern/@linkVariable.3\" bindingOperator=\"CREATE\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"http://www.moflon.org.BlipTGG#//MModelToModel\"/>\r\n        <domain href=\"platform:/resource/BlipTGG/model/BlipTGG.tgg.xmi#//@domain.2\"/>\r\n      </objectVariable>\r\n      <objectVariable xsi:type=\"TGGLanguage:TGGObjectVariable\" name=\"application\" bindingState=\"BOUND\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"platform:/resource/BlipLanguage/model/BlipLanguage.ecore#//BlipApplication\"/>\r\n        <bindingExpression xsi:type=\"expressions:LiteralExpression\" value=\"isApplicableMatch.getObject(&quot;application&quot;)\"/>\r\n        <domain href=\"platform:/resource/BlipTGG/model/BlipTGG.tgg.xmi#//@domain.1\"/>\r\n      </objectVariable>\r\n      <objectVariable xsi:type=\"TGGLanguage:TGGObjectVariable\" name=\"blipModel\" incomingLink=\"//@ownedActivityNode.1/@storyPattern/@linkVariable.3\" bindingState=\"BOUND\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"platform:/resource/BlipLanguage/model/BlipLanguage.ecore#//BlipModel\"/>\r\n        <bindingExpression xsi:type=\"expressions:LiteralExpression\" value=\"isApplicableMatch.getObject(&quot;blipModel&quot;)\"/>\r\n        <domain href=\"platform:/resource/BlipTGG/model/BlipTGG.tgg.xmi#//@domain.1\"/>\r\n      </objectVariable>\r\n      <objectVariable name=\"csp\" incomingLink=\"//@ownedActivityNode.1/@storyPattern/@linkVariable.4\" bindingSemantics=\"OPTIONAL\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"http://www.moflon.org.TGGLanguage#//csp/CSP\"/>\r\n      </objectVariable>\r\n      <objectVariable name=\"this\" bindingState=\"BOUND\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"http://www.moflon.org.BlipTGG#//Rules/MModelToModelRule\"/>\r\n        <bindingExpression xsi:type=\"expressions:LiteralExpression\" value=\"isApplicableMatch.getObject(&quot;this&quot;)\"/>\r\n      </objectVariable>\r\n      <objectVariable name=\"isApplicableMatch\" outgoingLink=\"//@ownedActivityNode.1/@storyPattern/@linkVariable.4\" bindingState=\"BOUND\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"http://www.moflon.org.TGGRuntime#//IsApplicableMatch\"/>\r\n      </objectVariable>\r\n      <linkVariable xsi:type=\"TGGLanguage:TGGLinkVariable\" name=\"parentNode\" target=\"//@ownedActivityNode.1/@storyPattern/@objectVariable.0\" source=\"//@ownedActivityNode.1/@storyPattern/@objectVariable.1\" bindingOperator=\"CREATE\">\r\n        <domain href=\"platform:/resource/BlipTGG/model/BlipTGG.tgg.xmi#//@domain.0\"/>\r\n      </linkVariable>\r\n      <linkVariable xsi:type=\"TGGLanguage:TGGLinkVariable\" name=\"attribute\" target=\"//@ownedActivityNode.1/@storyPattern/@objectVariable.2\" source=\"//@ownedActivityNode.1/@storyPattern/@objectVariable.1\" bindingOperator=\"CREATE\">\r\n        <domain href=\"platform:/resource/BlipTGG/model/BlipTGG.tgg.xmi#//@domain.0\"/>\r\n      </linkVariable>\r\n      <linkVariable xsi:type=\"TGGLanguage:TGGLinkVariable\" name=\"source\" target=\"//@ownedActivityNode.1/@storyPattern/@objectVariable.1\" source=\"//@ownedActivityNode.1/@storyPattern/@objectVariable.4\" bindingOperator=\"CREATE\">\r\n        <domain href=\"platform:/resource/BlipTGG/model/BlipTGG.tgg.xmi#//@domain.2\"/>\r\n      </linkVariable>\r\n      <linkVariable xsi:type=\"TGGLanguage:TGGLinkVariable\" name=\"target\" target=\"//@ownedActivityNode.1/@storyPattern/@objectVariable.6\" source=\"//@ownedActivityNode.1/@storyPattern/@objectVariable.4\" bindingOperator=\"CREATE\">\r\n        <domain href=\"platform:/resource/BlipTGG/model/BlipTGG.tgg.xmi#//@domain.2\"/>\r\n      </linkVariable>\r\n      <linkVariable name=\"attributeInfo\" target=\"//@ownedActivityNode.1/@storyPattern/@objectVariable.7\" source=\"//@ownedActivityNode.1/@storyPattern/@objectVariable.9\"/>\r\n      <correspondence href=\"platform:/resource/BlipTGG/model/BlipTGG.tgg.xmi#//@domain.2\"/>\r\n      <source href=\"platform:/resource/BlipTGG/model/BlipTGG.tgg.xmi#//@domain.0\"/>\r\n      <csp>\r\n        <constraints variables=\"//@ownedActivityNode.1/@storyPattern/@csp/@variables.0 //@ownedActivityNode.1/@storyPattern/@csp/@variables.1\" name=\"eq\">\r\n          <allowedAdornments value=\"BB\"/>\r\n          <allowedAdornments value=\"BF\"/>\r\n          <allowedAdornments value=\"FB\"/>\r\n        </constraints>\r\n        <variables xsi:type=\"csp:AttributeVariable\" type=\"String\" attribute=\"value\" objectVariable=\"nameAttr\"/>\r\n        <variables xsi:type=\"csp:AttributeVariable\" bound=\"true\" value=\"ACED0005740013626C69704D6F64656C2E6765744E616D652829\" type=\"String\" attribute=\"name\" objectVariable=\"blipModel\"/>\r\n        <forward variables=\"//@ownedActivityNode.1/@storyPattern/@csp/@variables.0 //@ownedActivityNode.1/@storyPattern/@csp/@variables.1\" constraints=\"//@ownedActivityNode.1/@storyPattern/@csp/@constraints.0\"/>\r\n        <simultaneous variables=\"//@ownedActivityNode.1/@storyPattern/@csp/@variables.0 //@ownedActivityNode.1/@storyPattern/@csp/@variables.1\" constraints=\"//@ownedActivityNode.1/@storyPattern/@csp/@constraints.0\"/>\r\n        <backward variables=\"//@ownedActivityNode.1/@storyPattern/@csp/@variables.0 //@ownedActivityNode.1/@storyPattern/@csp/@variables.1\" constraints=\"//@ownedActivityNode.1/@storyPattern/@csp/@constraints.0\"/>\r\n        <source/>\r\n        <target/>\r\n      </csp>\r\n      <target href=\"platform:/resource/BlipTGG/model/BlipTGG.tgg.xmi#//@domain.1\"/>\r\n    </storyPattern>\r\n  </ownedActivityNode>\r\n  <ownedActivityNode xsi:type=\"activities:StopNode\" incoming=\"//@ownedActivityEdge.2\">\r\n    <returnValue xsi:type=\"patternExpressions:ObjectVariableExpression\" object=\"//@ownedActivityNode.0/@storyPattern/@objectVariable.0\"/>\r\n  </ownedActivityNode>\r\n  <ownedActivityNode xsi:type=\"activities:StartNode\" outgoing=\"//@ownedActivityEdge.0\"/>\r\n  <ownedActivityNode xsi:type=\"activities:StatementNode\" name=\"perform postprocessing\" outgoing=\"//@ownedActivityEdge.2\" incoming=\"//@ownedActivityEdge.4\">\r\n    <statementExpression xsi:type=\"expressions:LiteralExpression\" value=\"// No post processing method found\"/>\r\n  </ownedActivityNode>\r\n  <ownedActivityNode xsi:type=\"activities:StoryNode\" name=\"bookkeeping for edges\" outgoing=\"//@ownedActivityEdge.4\" incoming=\"//@ownedActivityEdge.3\">\r\n    <storyPattern>\r\n      <objectVariable name=\"ruleresult\" outgoingLink=\"//@ownedActivityNode.5/@storyPattern/@linkVariable.1 //@ownedActivityNode.5/@storyPattern/@linkVariable.4 //@ownedActivityNode.5/@storyPattern/@linkVariable.7 //@ownedActivityNode.5/@storyPattern/@linkVariable.10 //@ownedActivityNode.5/@storyPattern/@linkVariable.12\" bindingState=\"BOUND\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"http://www.moflon.org.TGGRuntime#//PerformRuleResult\"/>\r\n      </objectVariable>\r\n      <objectVariable name=\"applicationNode\" incomingLink=\"//@ownedActivityNode.5/@storyPattern/@linkVariable.0\" bindingState=\"BOUND\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"http://www.eclipse.org/emf/2002/Ecore#//EObject\"/>\r\n      </objectVariable>\r\n      <objectVariable name=\"blipModelNode\" incomingLink=\"//@ownedActivityNode.5/@storyPattern/@linkVariable.2 //@ownedActivityNode.5/@storyPattern/@linkVariable.5 //@ownedActivityNode.5/@storyPattern/@linkVariable.6\" bindingState=\"BOUND\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"http://www.eclipse.org/emf/2002/Ecore#//EObject\"/>\r\n      </objectVariable>\r\n      <objectVariable name=\"nameAttr\" incomingLink=\"//@ownedActivityNode.5/@storyPattern/@linkVariable.3\" bindingState=\"BOUND\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"http://www.eclipse.org/emf/2002/Ecore#//EObject\"/>\r\n      </objectVariable>\r\n      <objectVariable name=\"mApplicationToApplication\" bindingState=\"BOUND\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"http://www.eclipse.org/emf/2002/Ecore#//EObject\"/>\r\n      </objectVariable>\r\n      <objectVariable name=\"mModelToModel\" incomingLink=\"//@ownedActivityNode.5/@storyPattern/@linkVariable.8 //@ownedActivityNode.5/@storyPattern/@linkVariable.11\" bindingState=\"BOUND\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"http://www.eclipse.org/emf/2002/Ecore#//EObject\"/>\r\n      </objectVariable>\r\n      <objectVariable name=\"application\" incomingLink=\"//@ownedActivityNode.5/@storyPattern/@linkVariable.14\" bindingState=\"BOUND\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"http://www.eclipse.org/emf/2002/Ecore#//EObject\"/>\r\n      </objectVariable>\r\n      <objectVariable name=\"blipModel\" incomingLink=\"//@ownedActivityNode.5/@storyPattern/@linkVariable.9 //@ownedActivityNode.5/@storyPattern/@linkVariable.13\" bindingState=\"BOUND\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"http://www.eclipse.org/emf/2002/Ecore#//EObject\"/>\r\n      </objectVariable>\r\n      <objectVariable name=\"blipModelNode__parentNode__applicationNode\" incomingLink=\"//@ownedActivityNode.5/@storyPattern/@linkVariable.1\" outgoingLink=\"//@ownedActivityNode.5/@storyPattern/@linkVariable.0 //@ownedActivityNode.5/@storyPattern/@linkVariable.2\" bindingOperator=\"CREATE\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"http://www.moflon.org.TGGRuntime#//Edge\"/>\r\n        <attributeAssignment>\r\n          <attribute href=\"http://www.moflon.org.TGGRuntime#//Edge/name\"/>\r\n          <valueExpression xsi:type=\"expressions:LiteralExpression\" value=\"&quot;parentNode&quot;\"/>\r\n        </attributeAssignment>\r\n      </objectVariable>\r\n      <objectVariable name=\"blipModelNode__attribute__nameAttr\" incomingLink=\"//@ownedActivityNode.5/@storyPattern/@linkVariable.4\" outgoingLink=\"//@ownedActivityNode.5/@storyPattern/@linkVariable.3 //@ownedActivityNode.5/@storyPattern/@linkVariable.5\" bindingOperator=\"CREATE\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"http://www.moflon.org.TGGRuntime#//Edge\"/>\r\n        <attributeAssignment>\r\n          <attribute href=\"http://www.moflon.org.TGGRuntime#//Edge/name\"/>\r\n          <valueExpression xsi:type=\"expressions:LiteralExpression\" value=\"&quot;attribute&quot;\"/>\r\n        </attributeAssignment>\r\n      </objectVariable>\r\n      <objectVariable name=\"mModelToModel__source__blipModelNode\" incomingLink=\"//@ownedActivityNode.5/@storyPattern/@linkVariable.7\" outgoingLink=\"//@ownedActivityNode.5/@storyPattern/@linkVariable.6 //@ownedActivityNode.5/@storyPattern/@linkVariable.8\" bindingOperator=\"CREATE\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"http://www.moflon.org.TGGRuntime#//Edge\"/>\r\n        <attributeAssignment>\r\n          <attribute href=\"http://www.moflon.org.TGGRuntime#//Edge/name\"/>\r\n          <valueExpression xsi:type=\"expressions:LiteralExpression\" value=\"&quot;source&quot;\"/>\r\n        </attributeAssignment>\r\n      </objectVariable>\r\n      <objectVariable name=\"mModelToModel__target__blipModel\" incomingLink=\"//@ownedActivityNode.5/@storyPattern/@linkVariable.10\" outgoingLink=\"//@ownedActivityNode.5/@storyPattern/@linkVariable.9 //@ownedActivityNode.5/@storyPattern/@linkVariable.11\" bindingOperator=\"CREATE\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"http://www.moflon.org.TGGRuntime#//Edge\"/>\r\n        <attributeAssignment>\r\n          <attribute href=\"http://www.moflon.org.TGGRuntime#//Edge/name\"/>\r\n          <valueExpression xsi:type=\"expressions:LiteralExpression\" value=\"&quot;target&quot;\"/>\r\n        </attributeAssignment>\r\n      </objectVariable>\r\n      <objectVariable name=\"application__models__blipModel\" incomingLink=\"//@ownedActivityNode.5/@storyPattern/@linkVariable.12\" outgoingLink=\"//@ownedActivityNode.5/@storyPattern/@linkVariable.14 //@ownedActivityNode.5/@storyPattern/@linkVariable.13\" bindingOperator=\"CREATE\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"http://www.moflon.org.TGGRuntime#//Edge\"/>\r\n        <attributeAssignment>\r\n          <attribute href=\"http://www.moflon.org.TGGRuntime#//Edge/name\"/>\r\n          <valueExpression xsi:type=\"expressions:LiteralExpression\" value=\"&quot;models&quot;\"/>\r\n        </attributeAssignment>\r\n      </objectVariable>\r\n      <linkVariable name=\"trg\" target=\"//@ownedActivityNode.5/@storyPattern/@objectVariable.1\" source=\"//@ownedActivityNode.5/@storyPattern/@objectVariable.8\" bindingOperator=\"CREATE\"/>\r\n      <linkVariable name=\"createdEdges\" target=\"//@ownedActivityNode.5/@storyPattern/@objectVariable.8\" source=\"//@ownedActivityNode.5/@storyPattern/@objectVariable.0\" bindingOperator=\"CREATE\"/>\r\n      <linkVariable name=\"src\" target=\"//@ownedActivityNode.5/@storyPattern/@objectVariable.2\" source=\"//@ownedActivityNode.5/@storyPattern/@objectVariable.8\" bindingOperator=\"CREATE\"/>\r\n      <linkVariable name=\"trg\" target=\"//@ownedActivityNode.5/@storyPattern/@objectVariable.3\" source=\"//@ownedActivityNode.5/@storyPattern/@objectVariable.9\" bindingOperator=\"CREATE\"/>\r\n      <linkVariable name=\"createdEdges\" target=\"//@ownedActivityNode.5/@storyPattern/@objectVariable.9\" source=\"//@ownedActivityNode.5/@storyPattern/@objectVariable.0\" bindingOperator=\"CREATE\"/>\r\n      <linkVariable name=\"src\" target=\"//@ownedActivityNode.5/@storyPattern/@objectVariable.2\" source=\"//@ownedActivityNode.5/@storyPattern/@objectVariable.9\" bindingOperator=\"CREATE\"/>\r\n      <linkVariable name=\"trg\" target=\"//@ownedActivityNode.5/@storyPattern/@objectVariable.2\" source=\"//@ownedActivityNode.5/@storyPattern/@objectVariable.10\" bindingOperator=\"CREATE\"/>\r\n      <linkVariable name=\"createdEdges\" target=\"//@ownedActivityNode.5/@storyPattern/@objectVariable.10\" source=\"//@ownedActivityNode.5/@storyPattern/@objectVariable.0\" bindingOperator=\"CREATE\"/>\r\n      <linkVariable name=\"src\" target=\"//@ownedActivityNode.5/@storyPattern/@objectVariable.5\" source=\"//@ownedActivityNode.5/@storyPattern/@objectVariable.10\" bindingOperator=\"CREATE\"/>\r\n      <linkVariable name=\"trg\" target=\"//@ownedActivityNode.5/@storyPattern/@objectVariable.7\" source=\"//@ownedActivityNode.5/@storyPattern/@objectVariable.11\" bindingOperator=\"CREATE\"/>\r\n      <linkVariable name=\"createdEdges\" target=\"//@ownedActivityNode.5/@storyPattern/@objectVariable.11\" source=\"//@ownedActivityNode.5/@storyPattern/@objectVariable.0\" bindingOperator=\"CREATE\"/>\r\n      <linkVariable name=\"src\" target=\"//@ownedActivityNode.5/@storyPattern/@objectVariable.5\" source=\"//@ownedActivityNode.5/@storyPattern/@objectVariable.11\" bindingOperator=\"CREATE\"/>\r\n      <linkVariable name=\"translatedEdges\" target=\"//@ownedActivityNode.5/@storyPattern/@objectVariable.12\" source=\"//@ownedActivityNode.5/@storyPattern/@objectVariable.0\" bindingOperator=\"CREATE\"/>\r\n      <linkVariable name=\"trg\" target=\"//@ownedActivityNode.5/@storyPattern/@objectVariable.7\" source=\"//@ownedActivityNode.5/@storyPattern/@objectVariable.12\" bindingOperator=\"CREATE\"/>\r\n      <linkVariable name=\"src\" target=\"//@ownedActivityNode.5/@storyPattern/@objectVariable.6\" source=\"//@ownedActivityNode.5/@storyPattern/@objectVariable.12\" bindingOperator=\"CREATE\"/>\r\n    </storyPattern>\r\n  </ownedActivityNode>\r\n  <ownedActivityEdge source=\"//@ownedActivityNode.3\" target=\"//@ownedActivityNode.1\"/>\r\n  <ownedActivityEdge source=\"//@ownedActivityNode.1\" target=\"//@ownedActivityNode.0\"/>\r\n  <ownedActivityEdge source=\"//@ownedActivityNode.4\" target=\"//@ownedActivityNode.2\"/>\r\n  <ownedActivityEdge source=\"//@ownedActivityNode.0\" target=\"//@ownedActivityNode.5\"/>\r\n  <ownedActivityEdge source=\"//@ownedActivityNode.5\" target=\"//@ownedActivityNode.4\"/>\r\n</activities:Activity>\r\n" });
		addAnnotation(
				getMModelToModelRule__IsAppropriate_BWD__Match_BlipApplication_BlipModel(),
				source,
				new String[] {
						"XMI",
						"<?xml version=\"1.0\" encoding=\"UTF-8\"?>\r\n<activities:Activity xmi:version=\"2.0\" xmlns:xmi=\"http://www.omg.org/XMI\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:activities=\"http://www.moflon.org.SDMLanguage.activities\" xmlns:ecore=\"http://www.eclipse.org/emf/2002/Ecore\" xmlns:expressions=\"http://www.moflon.org.SDMLanguage.expressions\">\r\n  <ownedActivityNode xsi:type=\"activities:StatementNode\" name=\"Check CSP\" outgoing=\"//@ownedActivityEdge.3 //@ownedActivityEdge.5\" incoming=\"//@ownedActivityEdge.1\">\r\n    <statementExpression xsi:type=\"expressions:LiteralExpression\" value=\"csp.check();\"/>\r\n  </ownedActivityNode>\r\n  <ownedActivityNode xsi:type=\"activities:StatementNode\" name=\"Solve CSP\" outgoing=\"//@ownedActivityEdge.1\" incoming=\"//@ownedActivityEdge.2\">\r\n    <statementExpression xsi:type=\"expressions:LiteralExpression\" value=\"// Create CSP&#xD;&#xA;CSP csp = CspFactory.eINSTANCE.createCSP();&#xD;&#xA;&#xD;&#xA;// Create literals&#xD;&#xA;&#xD;&#xA;// Create attribute variables&#xD;&#xA;&#xD;&#xA;// Create explicit parameters&#xD;&#xA;&#xD;&#xA;// Create unbound variables&#xD;&#xA;&#xD;&#xA;// Create constraints&#xD;&#xA;&#xD;&#xA;&#xD;&#xA;&#xD;&#xA;&#xD;&#xA;// Solve CSP&#xD;&#xA;\"/>\r\n  </ownedActivityNode>\r\n  <ownedActivityNode xsi:type=\"activities:StopNode\" incoming=\"//@ownedActivityEdge.3\">\r\n    <returnValue xsi:type=\"expressions:LiteralExpression\" value=\"false\"/>\r\n  </ownedActivityNode>\r\n  <ownedActivityNode xsi:type=\"activities:StoryNode\" name=\"collect elements to be translated\" outgoing=\"//@ownedActivityEdge.0\" incoming=\"//@ownedActivityEdge.5\">\r\n    <storyPattern>\r\n      <objectVariable name=\"match\" outgoingLink=\"//@ownedActivityNode.3/@storyPattern/@linkVariable.0 //@ownedActivityNode.3/@storyPattern/@linkVariable.1\" bindingState=\"BOUND\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"http://www.moflon.org.TGGRuntime#//Match\"/>\r\n      </objectVariable>\r\n      <objectVariable name=\"blipModel\" incomingLink=\"//@ownedActivityNode.3/@storyPattern/@linkVariable.0 //@ownedActivityNode.3/@storyPattern/@linkVariable.3\" bindingState=\"BOUND\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"platform:/resource/BlipLanguage/model/BlipLanguage.ecore#//BlipModel\"/>\r\n      </objectVariable>\r\n      <objectVariable name=\"application__models__blipModel\" incomingLink=\"//@ownedActivityNode.3/@storyPattern/@linkVariable.1\" outgoingLink=\"//@ownedActivityNode.3/@storyPattern/@linkVariable.2 //@ownedActivityNode.3/@storyPattern/@linkVariable.3\" bindingOperator=\"CREATE\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"http://www.moflon.org.TGGRuntime#//Edge\"/>\r\n        <attributeAssignment>\r\n          <attribute href=\"http://www.moflon.org.TGGRuntime#//Edge/name\"/>\r\n          <valueExpression xsi:type=\"expressions:LiteralExpression\" value=\"&quot;models&quot;\"/>\r\n        </attributeAssignment>\r\n      </objectVariable>\r\n      <objectVariable name=\"application\" incomingLink=\"//@ownedActivityNode.3/@storyPattern/@linkVariable.2\" bindingState=\"BOUND\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"platform:/resource/BlipLanguage/model/BlipLanguage.ecore#//BlipApplication\"/>\r\n      </objectVariable>\r\n      <linkVariable name=\"toBeTranslatedElements\" target=\"//@ownedActivityNode.3/@storyPattern/@objectVariable.1\" source=\"//@ownedActivityNode.3/@storyPattern/@objectVariable.0\" bindingOperator=\"CREATE\"/>\r\n      <linkVariable name=\"toBeTranslatedEdges\" target=\"//@ownedActivityNode.3/@storyPattern/@objectVariable.2\" source=\"//@ownedActivityNode.3/@storyPattern/@objectVariable.0\" bindingOperator=\"CREATE\"/>\r\n      <linkVariable name=\"src\" target=\"//@ownedActivityNode.3/@storyPattern/@objectVariable.3\" source=\"//@ownedActivityNode.3/@storyPattern/@objectVariable.2\" bindingOperator=\"CREATE\"/>\r\n      <linkVariable name=\"trg\" target=\"//@ownedActivityNode.3/@storyPattern/@objectVariable.1\" source=\"//@ownedActivityNode.3/@storyPattern/@objectVariable.2\" bindingOperator=\"CREATE\"/>\r\n    </storyPattern>\r\n  </ownedActivityNode>\r\n  <ownedActivityNode xsi:type=\"activities:StartNode\" outgoing=\"//@ownedActivityEdge.2\"/>\r\n  <ownedActivityNode xsi:type=\"activities:StoryNode\" name=\"collect context elements\" outgoing=\"//@ownedActivityEdge.4\" incoming=\"//@ownedActivityEdge.0\">\r\n    <storyPattern>\r\n      <objectVariable name=\"match\" outgoingLink=\"//@ownedActivityNode.5/@storyPattern/@linkVariable.0\" bindingState=\"BOUND\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"http://www.moflon.org.TGGRuntime#//Match\"/>\r\n      </objectVariable>\r\n      <objectVariable name=\"application\" incomingLink=\"//@ownedActivityNode.5/@storyPattern/@linkVariable.0\" bindingState=\"BOUND\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"platform:/resource/BlipLanguage/model/BlipLanguage.ecore#//BlipApplication\"/>\r\n      </objectVariable>\r\n      <linkVariable name=\"contextNodes\" target=\"//@ownedActivityNode.5/@storyPattern/@objectVariable.1\" source=\"//@ownedActivityNode.5/@storyPattern/@objectVariable.0\" bindingOperator=\"CREATE\"/>\r\n    </storyPattern>\r\n  </ownedActivityNode>\r\n  <ownedActivityNode xsi:type=\"activities:StopNode\" incoming=\"//@ownedActivityEdge.6\">\r\n    <returnValue xsi:type=\"expressions:LiteralExpression\" value=\"true\"/>\r\n  </ownedActivityNode>\r\n  <ownedActivityNode xsi:type=\"activities:StatementNode\" name=\"register objects to match\" outgoing=\"//@ownedActivityEdge.6\" incoming=\"//@ownedActivityEdge.4\">\r\n    <statementExpression xsi:type=\"expressions:LiteralExpression\" value=\"match.registerObject(&quot;application&quot;, application);&#xA;match.registerObject(&quot;blipModel&quot;, blipModel);&#xA;\"/>\r\n  </ownedActivityNode>\r\n  <ownedActivityEdge source=\"//@ownedActivityNode.3\" target=\"//@ownedActivityNode.5\"/>\r\n  <ownedActivityEdge source=\"//@ownedActivityNode.1\" target=\"//@ownedActivityNode.0\"/>\r\n  <ownedActivityEdge source=\"//@ownedActivityNode.4\" target=\"//@ownedActivityNode.1\"/>\r\n  <ownedActivityEdge source=\"//@ownedActivityNode.0\" target=\"//@ownedActivityNode.2\" guard=\"FAILURE\"/>\r\n  <ownedActivityEdge source=\"//@ownedActivityNode.5\" target=\"//@ownedActivityNode.7\"/>\r\n  <ownedActivityEdge source=\"//@ownedActivityNode.0\" target=\"//@ownedActivityNode.3\" guard=\"SUCCESS\"/>\r\n  <ownedActivityEdge source=\"//@ownedActivityNode.7\" target=\"//@ownedActivityNode.6\"/>\r\n</activities:Activity>\r\n" });
		addAnnotation(
				getMModelToModelRule__IsApplicable_BWD__Match(),
				source,
				new String[] {
						"XMI",
						"<?xml version=\"1.0\" encoding=\"UTF-8\"?>\r\n<activities:Activity xmi:version=\"2.0\" xmlns:xmi=\"http://www.omg.org/XMI\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:TGGLanguage=\"http://www.moflon.org.TGGLanguage\" xmlns:activities=\"http://www.moflon.org.SDMLanguage.activities\" xmlns:csp=\"http://www.moflon.org.TGGLanguage.csp\" xmlns:ecore=\"http://www.eclipse.org/emf/2002/Ecore\" xmlns:expressions=\"http://www.moflon.org.SDMLanguage.expressions\" xmlns:patternExpressions=\"http://www.moflon.org.SDMLanguage.patterns.patternExpressions\">\r\n  <ownedActivityNode xsi:type=\"activities:StoryNode\" name=\"core match\" outgoing=\"//@ownedActivityEdge.8\" incoming=\"//@ownedActivityEdge.2\">\r\n    <storyPattern xsi:type=\"TGGLanguage:TGGRule\" name=\"MModelToModelRule\" cspSpec=\"&#xD;&#xA;&#x9;&#x9;eq(nameAttr.value, blipModel.name)&#xD;&#xA;&#x9;\">\r\n      <objectVariable xsi:type=\"TGGLanguage:TGGObjectVariable\" name=\"application\" bindingState=\"BOUND\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"platform:/resource/BlipLanguage/model/BlipLanguage.ecore#//BlipApplication\"/>\r\n        <bindingExpression xsi:type=\"expressions:LiteralExpression\" value=\"match.getObject(&quot;application&quot;)\"/>\r\n        <domain href=\"platform:/resource/BlipTGG/model/BlipTGG.tgg.xmi#//@domain.1\"/>\r\n      </objectVariable>\r\n      <objectVariable xsi:type=\"TGGLanguage:TGGObjectVariable\" name=\"blipModel\" bindingState=\"BOUND\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"platform:/resource/BlipLanguage/model/BlipLanguage.ecore#//BlipModel\"/>\r\n        <bindingExpression xsi:type=\"expressions:LiteralExpression\" value=\"match.getObject(&quot;blipModel&quot;)\"/>\r\n        <domain href=\"platform:/resource/BlipTGG/model/BlipTGG.tgg.xmi#//@domain.1\"/>\r\n      </objectVariable>\r\n      <objectVariable name=\"match\" bindingState=\"BOUND\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"http://www.moflon.org.TGGRuntime#//Match\"/>\r\n      </objectVariable>\r\n      <correspondence href=\"platform:/resource/BlipTGG/model/BlipTGG.tgg.xmi#//@domain.2\"/>\r\n      <source href=\"platform:/resource/BlipTGG/model/BlipTGG.tgg.xmi#//@domain.0\"/>\r\n      <csp>\r\n        <constraints variables=\"//@ownedActivityNode.0/@storyPattern/@csp/@variables.0 //@ownedActivityNode.0/@storyPattern/@csp/@variables.1\" name=\"eq\">\r\n          <allowedAdornments value=\"BB\"/>\r\n          <allowedAdornments value=\"BF\"/>\r\n          <allowedAdornments value=\"FB\"/>\r\n        </constraints>\r\n        <variables xsi:type=\"csp:AttributeVariable\" type=\"String\" attribute=\"value\" objectVariable=\"nameAttr\"/>\r\n        <variables xsi:type=\"csp:AttributeVariable\" type=\"String\" attribute=\"name\" objectVariable=\"blipModel\"/>\r\n      </csp>\r\n      <target href=\"platform:/resource/BlipTGG/model/BlipTGG.tgg.xmi#//@domain.1\"/>\r\n    </storyPattern>\r\n  </ownedActivityNode>\r\n  <ownedActivityNode xsi:type=\"activities:StoryNode\" name=\"prepare return value\" outgoing=\"//@ownedActivityEdge.2\" incoming=\"//@ownedActivityEdge.4\">\r\n    <storyPattern>\r\n      <objectVariable name=\"ruleresult\" outgoingLink=\"//@ownedActivityNode.1/@storyPattern/@linkVariable.1\" bindingOperator=\"CREATE\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"http://www.moflon.org.TGGRuntime#//IsApplicableRuleResult\"/>\r\n        <attributeAssignment>\r\n          <attribute href=\"http://www.moflon.org.TGGRuntime#//RuleResult/success\"/>\r\n          <valueExpression xsi:type=\"expressions:LiteralExpression\" value=\"false\"/>\r\n        </attributeAssignment>\r\n        <attributeAssignment>\r\n          <attribute href=\"http://www.moflon.org.TGGRuntime#//RuleResult/rule\"/>\r\n          <valueExpression xsi:type=\"expressions:LiteralExpression\" value=\"&quot;MModelToModelRule&quot;\"/>\r\n        </attributeAssignment>\r\n      </objectVariable>\r\n      <objectVariable name=\"performOperation\" incomingLink=\"//@ownedActivityNode.1/@storyPattern/@linkVariable.0 //@ownedActivityNode.1/@storyPattern/@linkVariable.1\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"http://www.eclipse.org/emf/2002/Ecore#//EOperation\"/>\r\n        <constraint>\r\n          <constraintExpression xsi:type=\"expressions:ComparisonExpression\" operator=\"EQUAL\">\r\n            <rightExpression xsi:type=\"expressions:LiteralExpression\" value=\"&quot;perform_BWD&quot;\"/>\r\n            <leftExpression xsi:type=\"patternExpressions:AttributeValueExpression\" object=\"//@ownedActivityNode.1/@storyPattern/@objectVariable.1\">\r\n              <attribute href=\"http://www.eclipse.org/emf/2002/Ecore#//ENamedElement/name\"/>\r\n            </leftExpression>\r\n          </constraintExpression>\r\n        </constraint>\r\n      </objectVariable>\r\n      <objectVariable name=\"eClass\" outgoingLink=\"//@ownedActivityNode.1/@storyPattern/@linkVariable.0\" bindingState=\"BOUND\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"http://www.eclipse.org/emf/2002/Ecore#//EClass\"/>\r\n        <bindingExpression xsi:type=\"expressions:LiteralExpression\" value=\"this.eClass()\"/>\r\n      </objectVariable>\r\n      <linkVariable name=\"eOperations\" target=\"//@ownedActivityNode.1/@storyPattern/@objectVariable.1\" source=\"//@ownedActivityNode.1/@storyPattern/@objectVariable.2\"/>\r\n      <linkVariable name=\"performOperation\" target=\"//@ownedActivityNode.1/@storyPattern/@objectVariable.1\" source=\"//@ownedActivityNode.1/@storyPattern/@objectVariable.0\" bindingOperator=\"CREATE\"/>\r\n    </storyPattern>\r\n  </ownedActivityNode>\r\n  <ownedActivityNode xsi:type=\"activities:StopNode\" incoming=\"//@ownedActivityEdge.5\">\r\n    <returnValue xsi:type=\"patternExpressions:ObjectVariableExpression\" object=\"//@ownedActivityNode.1/@storyPattern/@objectVariable.0\"/>\r\n  </ownedActivityNode>\r\n  <ownedActivityNode xsi:type=\"activities:StoryNode\" name=\"find context\" outgoing=\"//@ownedActivityEdge.5 //@ownedActivityEdge.7\" incoming=\"//@ownedActivityEdge.0 //@ownedActivityEdge.3 //@ownedActivityEdge.8\" forEach=\"true\">\r\n    <storyPattern xsi:type=\"TGGLanguage:TGGRule\" name=\"MModelToModelRule\" cspSpec=\"&#xD;&#xA;&#x9;&#x9;eq(nameAttr.value, blipModel.name)&#xD;&#xA;&#x9;\">\r\n      <objectVariable xsi:type=\"TGGLanguage:TGGObjectVariable\" name=\"applicationNode\" incomingLink=\"//@ownedActivityNode.3/@storyPattern/@linkVariable.0\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"platform:/plugin/org.moflon.moca.MocaTree/model/MocaTree.ecore#//Node\"/>\r\n        <domain href=\"platform:/resource/BlipTGG/model/BlipTGG.tgg.xmi#//@domain.0\"/>\r\n      </objectVariable>\r\n      <objectVariable xsi:type=\"TGGLanguage:TGGObjectVariable\" name=\"mApplicationToApplication\" outgoingLink=\"//@ownedActivityNode.3/@storyPattern/@linkVariable.0 //@ownedActivityNode.3/@storyPattern/@linkVariable.1\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"http://www.moflon.org.BlipTGG#//MApplicationToApplication\"/>\r\n        <domain href=\"platform:/resource/BlipTGG/model/BlipTGG.tgg.xmi#//@domain.2\"/>\r\n      </objectVariable>\r\n      <objectVariable xsi:type=\"TGGLanguage:TGGObjectVariable\" name=\"application\" incomingLink=\"//@ownedActivityNode.3/@storyPattern/@linkVariable.1\" outgoingLink=\"//@ownedActivityNode.3/@storyPattern/@linkVariable.2\" bindingState=\"BOUND\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"platform:/resource/BlipLanguage/model/BlipLanguage.ecore#//BlipApplication\"/>\r\n        <domain href=\"platform:/resource/BlipTGG/model/BlipTGG.tgg.xmi#//@domain.1\"/>\r\n      </objectVariable>\r\n      <objectVariable xsi:type=\"TGGLanguage:TGGObjectVariable\" name=\"blipModel\" incomingLink=\"//@ownedActivityNode.3/@storyPattern/@linkVariable.2\" bindingState=\"BOUND\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"platform:/resource/BlipLanguage/model/BlipLanguage.ecore#//BlipModel\"/>\r\n        <domain href=\"platform:/resource/BlipTGG/model/BlipTGG.tgg.xmi#//@domain.1\"/>\r\n      </objectVariable>\r\n      <objectVariable name=\"isApplicableMatch\" bindingOperator=\"CREATE\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"http://www.moflon.org.TGGRuntime#//IsApplicableMatch\"/>\r\n      </objectVariable>\r\n      <linkVariable xsi:type=\"TGGLanguage:TGGLinkVariable\" name=\"source\" target=\"//@ownedActivityNode.3/@storyPattern/@objectVariable.0\" source=\"//@ownedActivityNode.3/@storyPattern/@objectVariable.1\">\r\n        <domain href=\"platform:/resource/BlipTGG/model/BlipTGG.tgg.xmi#//@domain.2\"/>\r\n      </linkVariable>\r\n      <linkVariable xsi:type=\"TGGLanguage:TGGLinkVariable\" name=\"target\" target=\"//@ownedActivityNode.3/@storyPattern/@objectVariable.2\" source=\"//@ownedActivityNode.3/@storyPattern/@objectVariable.1\">\r\n        <domain href=\"platform:/resource/BlipTGG/model/BlipTGG.tgg.xmi#//@domain.2\"/>\r\n      </linkVariable>\r\n      <linkVariable xsi:type=\"TGGLanguage:TGGLinkVariable\" name=\"models\" target=\"//@ownedActivityNode.3/@storyPattern/@objectVariable.3\" source=\"//@ownedActivityNode.3/@storyPattern/@objectVariable.2\">\r\n        <domain href=\"platform:/resource/BlipTGG/model/BlipTGG.tgg.xmi#//@domain.1\"/>\r\n      </linkVariable>\r\n      <correspondence href=\"platform:/resource/BlipTGG/model/BlipTGG.tgg.xmi#//@domain.2\"/>\r\n      <source href=\"platform:/resource/BlipTGG/model/BlipTGG.tgg.xmi#//@domain.0\"/>\r\n      <csp>\r\n        <constraints variables=\"//@ownedActivityNode.3/@storyPattern/@csp/@variables.0 //@ownedActivityNode.3/@storyPattern/@csp/@variables.1\" name=\"eq\">\r\n          <allowedAdornments value=\"BB\"/>\r\n          <allowedAdornments value=\"BF\"/>\r\n          <allowedAdornments value=\"FB\"/>\r\n        </constraints>\r\n        <variables xsi:type=\"csp:AttributeVariable\" type=\"String\" attribute=\"value\" objectVariable=\"nameAttr\"/>\r\n        <variables xsi:type=\"csp:AttributeVariable\" type=\"String\" attribute=\"name\" objectVariable=\"blipModel\"/>\r\n      </csp>\r\n      <target href=\"platform:/resource/BlipTGG/model/BlipTGG.tgg.xmi#//@domain.1\"/>\r\n    </storyPattern>\r\n  </ownedActivityNode>\r\n  <ownedActivityNode xsi:type=\"activities:StoryNode\" name=\"add match to rule result\" outgoing=\"//@ownedActivityEdge.3\" incoming=\"//@ownedActivityEdge.6\">\r\n    <storyPattern>\r\n      <objectVariable name=\"isApplicableMatch\" incomingLink=\"//@ownedActivityNode.4/@storyPattern/@linkVariable.0\" bindingState=\"BOUND\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"http://www.moflon.org.TGGRuntime#//IsApplicableMatch\"/>\r\n      </objectVariable>\r\n      <objectVariable name=\"ruleresult\" outgoingLink=\"//@ownedActivityNode.4/@storyPattern/@linkVariable.0\" bindingState=\"BOUND\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"http://www.moflon.org.TGGRuntime#//IsApplicableRuleResult\"/>\r\n        <attributeAssignment>\r\n          <attribute href=\"http://www.moflon.org.TGGRuntime#//RuleResult/success\"/>\r\n          <valueExpression xsi:type=\"expressions:LiteralExpression\" value=\"true\"/>\r\n        </attributeAssignment>\r\n      </objectVariable>\r\n      <linkVariable name=\"isApplicableMatch\" target=\"//@ownedActivityNode.4/@storyPattern/@objectVariable.0\" source=\"//@ownedActivityNode.4/@storyPattern/@objectVariable.1\" bindingOperator=\"CREATE\"/>\r\n    </storyPattern>\r\n  </ownedActivityNode>\r\n  <ownedActivityNode xsi:type=\"activities:StatementNode\" name=\"check CSP\" outgoing=\"//@ownedActivityEdge.0 //@ownedActivityEdge.6\" incoming=\"//@ownedActivityEdge.1\">\r\n    <statementExpression xsi:type=\"expressions:LiteralExpression\" value=\"csp.check();\"/>\r\n  </ownedActivityNode>\r\n  <ownedActivityNode xsi:type=\"activities:StatementNode\" name=\"solve CSP\" outgoing=\"//@ownedActivityEdge.1\" incoming=\"//@ownedActivityEdge.7\">\r\n    <statementExpression xsi:type=\"expressions:LiteralExpression\" value=\"// Create CSP&#xD;&#xA;CSP csp = CspFactory.eINSTANCE.createCSP();&#xD;&#xA;isApplicableMatch.getAttributeInfo().add(csp);&#xD;&#xA;&#xD;&#xA;// Create literals&#xD;&#xA;&#xD;&#xA;// Create attribute variables&#xD;&#xA;Variable&lt;String> var_blipModel_name = CspFactory.eINSTANCE.createVariable(&quot;blipModel.name&quot;, true, csp);&#xD;&#xA;var_blipModel_name.setValue(blipModel.getName());&#xD;&#xA;&#xD;&#xA;// Create explicit parameters&#xD;&#xA;&#xD;&#xA;// Create unbound variables&#xD;&#xA;Variable&lt;String> var_nameAttr_value = CspFactory.eINSTANCE.createVariable(&quot;nameAttr.value&quot;, csp);&#xD;&#xA;&#xD;&#xA;// Create constraints&#xD;&#xA;Eq&lt;String> eq = new Eq&lt;String>();&#xD;&#xA;&#xD;&#xA;csp.getConstraints().add(eq);&#xD;&#xA;&#xD;&#xA;// Solve CSP&#xD;&#xA;eq.setRuleName(&quot;&quot;);&#xD;&#xA;eq.solve(var_nameAttr_value,var_blipModel_name);&#xD;&#xA;&#xD;&#xA;// Snapshot pattern match on which CSP is solved&#xD;&#xA;isApplicableMatch.registerObject(&quot;applicationNode&quot;,applicationNode);&#xD;&#xA;isApplicableMatch.registerObject(&quot;mApplicationToApplication&quot;,mApplicationToApplication);&#xD;&#xA;isApplicableMatch.registerObject(&quot;application&quot;,application);&#xD;&#xA;isApplicableMatch.registerObject(&quot;blipModel&quot;,blipModel);&#xD;&#xA;\"/>\r\n  </ownedActivityNode>\r\n  <ownedActivityNode xsi:type=\"activities:StartNode\" outgoing=\"//@ownedActivityEdge.4\"/>\r\n  <ownedActivityEdge source=\"//@ownedActivityNode.5\" target=\"//@ownedActivityNode.3\" guard=\"FAILURE\"/>\r\n  <ownedActivityEdge source=\"//@ownedActivityNode.6\" target=\"//@ownedActivityNode.5\"/>\r\n  <ownedActivityEdge source=\"//@ownedActivityNode.1\" target=\"//@ownedActivityNode.0\"/>\r\n  <ownedActivityEdge source=\"//@ownedActivityNode.4\" target=\"//@ownedActivityNode.3\"/>\r\n  <ownedActivityEdge source=\"//@ownedActivityNode.7\" target=\"//@ownedActivityNode.1\"/>\r\n  <ownedActivityEdge source=\"//@ownedActivityNode.3\" target=\"//@ownedActivityNode.2\" guard=\"END\"/>\r\n  <ownedActivityEdge source=\"//@ownedActivityNode.5\" target=\"//@ownedActivityNode.4\" guard=\"SUCCESS\"/>\r\n  <ownedActivityEdge source=\"//@ownedActivityNode.3\" target=\"//@ownedActivityNode.6\" guard=\"EACH_TIME\"/>\r\n  <ownedActivityEdge source=\"//@ownedActivityNode.0\" target=\"//@ownedActivityNode.3\"/>\r\n</activities:Activity>\r\n" });
		addAnnotation(
				getMModelToModelRule__IsAppropriate_FWD_Node_3__Node(),
				source,
				new String[] {
						"XMI",
						"<?xml version=\"1.0\" encoding=\"UTF-8\"?>\r\n<activities:Activity xmi:version=\"2.0\" xmlns:xmi=\"http://www.omg.org/XMI\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:TGGLanguage=\"http://www.moflon.org.TGGLanguage\" xmlns:activities=\"http://www.moflon.org.SDMLanguage.activities\" xmlns:callExpressions=\"http://www.moflon.org.SDMLanguage.calls.callExpressions\" xmlns:csp=\"http://www.moflon.org.TGGLanguage.csp\" xmlns:ecore=\"http://www.eclipse.org/emf/2002/Ecore\" xmlns:expressions=\"http://www.moflon.org.SDMLanguage.expressions\" xmlns:patternExpressions=\"http://www.moflon.org.SDMLanguage.patterns.patternExpressions\">\r\n  <ownedActivityNode xsi:type=\"activities:StoryNode\" name=\"prepare return value\" outgoing=\"//@ownedActivityEdge.4\" incoming=\"//@ownedActivityEdge.0\">\r\n    <storyPattern>\r\n      <objectVariable name=\"performOperation\" incomingLink=\"//@ownedActivityNode.0/@storyPattern/@linkVariable.1 //@ownedActivityNode.0/@storyPattern/@linkVariable.0\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"http://www.eclipse.org/emf/2002/Ecore#//EOperation\"/>\r\n        <constraint>\r\n          <constraintExpression xsi:type=\"expressions:ComparisonExpression\" operator=\"EQUAL\">\r\n            <rightExpression xsi:type=\"expressions:LiteralExpression\" value=\"&quot;isApplicable_FWD&quot;\"/>\r\n            <leftExpression xsi:type=\"patternExpressions:AttributeValueExpression\" object=\"//@ownedActivityNode.0/@storyPattern/@objectVariable.0\">\r\n              <attribute href=\"http://www.eclipse.org/emf/2002/Ecore#//ENamedElement/name\"/>\r\n            </leftExpression>\r\n          </constraintExpression>\r\n        </constraint>\r\n      </objectVariable>\r\n      <objectVariable name=\"this\" bindingState=\"BOUND\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"http://www.moflon.org.BlipTGG#//Rules/MModelToModelRule\"/>\r\n      </objectVariable>\r\n      <objectVariable name=\"ruleresult\" outgoingLink=\"//@ownedActivityNode.0/@storyPattern/@linkVariable.0\" bindingOperator=\"CREATE\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"http://www.moflon.org.TGGRuntime#//IsAppropriateRuleResult\"/>\r\n        <attributeAssignment>\r\n          <attribute href=\"http://www.moflon.org.TGGRuntime#//RuleResult/success\"/>\r\n          <valueExpression xsi:type=\"expressions:LiteralExpression\" value=\"false\"/>\r\n        </attributeAssignment>\r\n      </objectVariable>\r\n      <objectVariable name=\"eClass\" outgoingLink=\"//@ownedActivityNode.0/@storyPattern/@linkVariable.1\" bindingState=\"BOUND\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"http://www.eclipse.org/emf/2002/Ecore#//EClass\"/>\r\n        <bindingExpression xsi:type=\"expressions:LiteralExpression\" value=\"this.eClass()\"/>\r\n      </objectVariable>\r\n      <linkVariable name=\"performOperation\" target=\"//@ownedActivityNode.0/@storyPattern/@objectVariable.0\" source=\"//@ownedActivityNode.0/@storyPattern/@objectVariable.2\" bindingOperator=\"CREATE\"/>\r\n      <linkVariable name=\"eOperations\" target=\"//@ownedActivityNode.0/@storyPattern/@objectVariable.0\" source=\"//@ownedActivityNode.0/@storyPattern/@objectVariable.3\"/>\r\n    </storyPattern>\r\n  </ownedActivityNode>\r\n  <ownedActivityNode xsi:type=\"activities:StoryNode\" name=\"test core match\" outgoing=\"//@ownedActivityEdge.3 //@ownedActivityEdge.1\" incoming=\"//@ownedActivityEdge.4 //@ownedActivityEdge.5 //@ownedActivityEdge.7\" forEach=\"true\">\r\n    <storyPattern xsi:type=\"TGGLanguage:TGGRule\" name=\"MModelToModelRule\" cspSpec=\"&#xD;&#xA;&#x9;&#x9;eq(nameAttr.value, blipModel.name)&#xD;&#xA;&#x9;\">\r\n      <objectVariable xsi:type=\"TGGLanguage:TGGObjectVariable\" name=\"applicationNode\" incomingLink=\"//@ownedActivityNode.1/@storyPattern/@linkVariable.0\" bindingState=\"BOUND\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"platform:/plugin/org.moflon.moca.MocaTree/model/MocaTree.ecore#//Node\"/>\r\n        <domain href=\"platform:/resource/BlipTGG/model/BlipTGG.tgg.xmi#//@domain.0\"/>\r\n      </objectVariable>\r\n      <objectVariable xsi:type=\"TGGLanguage:TGGObjectVariable\" name=\"blipModelNode\" outgoingLink=\"//@ownedActivityNode.1/@storyPattern/@linkVariable.0 //@ownedActivityNode.1/@storyPattern/@linkVariable.1\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"platform:/plugin/org.moflon.moca.MocaTree/model/MocaTree.ecore#//Node\"/>\r\n        <constraint>\r\n          <constraintExpression xsi:type=\"expressions:ComparisonExpression\" operator=\"EQUAL\">\r\n            <rightExpression xsi:type=\"expressions:LiteralExpression\" value=\"&quot;Model&quot;\"/>\r\n            <leftExpression xsi:type=\"patternExpressions:AttributeValueExpression\">\r\n              <attribute href=\"platform:/plugin/org.moflon.moca.MocaTree/model/MocaTree.ecore#//TreeElement/name\"/>\r\n            </leftExpression>\r\n          </constraintExpression>\r\n        </constraint>\r\n        <domain href=\"platform:/resource/BlipTGG/model/BlipTGG.tgg.xmi#//@domain.0\"/>\r\n      </objectVariable>\r\n      <objectVariable xsi:type=\"TGGLanguage:TGGObjectVariable\" name=\"nameAttr\" incomingLink=\"//@ownedActivityNode.1/@storyPattern/@linkVariable.1\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"platform:/plugin/org.moflon.moca.MocaTree/model/MocaTree.ecore#//Attribute\"/>\r\n        <constraint>\r\n          <constraintExpression xsi:type=\"expressions:ComparisonExpression\" operator=\"EQUAL\">\r\n            <rightExpression xsi:type=\"expressions:LiteralExpression\" value=\"&quot;name&quot;\"/>\r\n            <leftExpression xsi:type=\"patternExpressions:AttributeValueExpression\">\r\n              <attribute href=\"platform:/plugin/org.moflon.moca.MocaTree/model/MocaTree.ecore#//TreeElement/name\"/>\r\n            </leftExpression>\r\n          </constraintExpression>\r\n        </constraint>\r\n        <domain href=\"platform:/resource/BlipTGG/model/BlipTGG.tgg.xmi#//@domain.0\"/>\r\n      </objectVariable>\r\n      <objectVariable name=\"ruleresult\" bindingState=\"BOUND\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"http://www.moflon.org.TGGRuntime#//IsAppropriateRuleResult\"/>\r\n      </objectVariable>\r\n      <objectVariable name=\"match\" bindingOperator=\"CREATE\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"http://www.moflon.org.TGGRuntime#//Match\"/>\r\n      </objectVariable>\r\n      <linkVariable xsi:type=\"TGGLanguage:TGGLinkVariable\" name=\"parentNode\" target=\"//@ownedActivityNode.1/@storyPattern/@objectVariable.0\" source=\"//@ownedActivityNode.1/@storyPattern/@objectVariable.1\">\r\n        <domain href=\"platform:/resource/BlipTGG/model/BlipTGG.tgg.xmi#//@domain.0\"/>\r\n      </linkVariable>\r\n      <linkVariable xsi:type=\"TGGLanguage:TGGLinkVariable\" name=\"attribute\" target=\"//@ownedActivityNode.1/@storyPattern/@objectVariable.2\" source=\"//@ownedActivityNode.1/@storyPattern/@objectVariable.1\">\r\n        <domain href=\"platform:/resource/BlipTGG/model/BlipTGG.tgg.xmi#//@domain.0\"/>\r\n      </linkVariable>\r\n      <correspondence href=\"platform:/resource/BlipTGG/model/BlipTGG.tgg.xmi#//@domain.2\"/>\r\n      <source href=\"platform:/resource/BlipTGG/model/BlipTGG.tgg.xmi#//@domain.0\"/>\r\n      <csp>\r\n        <constraints variables=\"//@ownedActivityNode.1/@storyPattern/@csp/@variables.0 //@ownedActivityNode.1/@storyPattern/@csp/@variables.1\" name=\"eq\">\r\n          <allowedAdornments value=\"BB\"/>\r\n          <allowedAdornments value=\"BF\"/>\r\n          <allowedAdornments value=\"FB\"/>\r\n        </constraints>\r\n        <variables xsi:type=\"csp:AttributeVariable\" type=\"String\" attribute=\"value\" objectVariable=\"nameAttr\"/>\r\n        <variables xsi:type=\"csp:AttributeVariable\" type=\"String\" attribute=\"name\" objectVariable=\"blipModel\"/>\r\n      </csp>\r\n      <target href=\"platform:/resource/BlipTGG/model/BlipTGG.tgg.xmi#//@domain.1\"/>\r\n    </storyPattern>\r\n  </ownedActivityNode>\r\n  <ownedActivityNode xsi:type=\"activities:StoryNode\" name=\"set success\" outgoing=\"//@ownedActivityEdge.2\" incoming=\"//@ownedActivityEdge.3\">\r\n    <storyPattern>\r\n      <objectVariable name=\"match\" incomingLink=\"//@ownedActivityNode.2/@storyPattern/@linkVariable.0\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"http://www.moflon.org.TGGRuntime#//Match\"/>\r\n      </objectVariable>\r\n      <objectVariable name=\"ruleresult\" outgoingLink=\"//@ownedActivityNode.2/@storyPattern/@linkVariable.0\" bindingState=\"BOUND\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"http://www.moflon.org.TGGRuntime#//IsAppropriateRuleResult\"/>\r\n        <attributeAssignment>\r\n          <attribute href=\"http://www.moflon.org.TGGRuntime#//RuleResult/success\"/>\r\n          <valueExpression xsi:type=\"expressions:LiteralExpression\" value=\"true\"/>\r\n        </attributeAssignment>\r\n      </objectVariable>\r\n      <linkVariable name=\"matches\" target=\"//@ownedActivityNode.2/@storyPattern/@objectVariable.0\" source=\"//@ownedActivityNode.2/@storyPattern/@objectVariable.1\"/>\r\n    </storyPattern>\r\n  </ownedActivityNode>\r\n  <ownedActivityNode xsi:type=\"activities:StopNode\" incoming=\"//@ownedActivityEdge.2\">\r\n    <returnValue xsi:type=\"patternExpressions:ObjectVariableExpression\" object=\"//@ownedActivityNode.0/@storyPattern/@objectVariable.2\"/>\r\n  </ownedActivityNode>\r\n  <ownedActivityNode xsi:type=\"activities:StartNode\" outgoing=\"//@ownedActivityEdge.0\"/>\r\n  <ownedActivityNode xsi:type=\"activities:StatementNode\" name=\"bookkeeping with generic isAppropriate method\" outgoing=\"//@ownedActivityEdge.5 //@ownedActivityEdge.6\" incoming=\"//@ownedActivityEdge.1\">\r\n    <statementExpression xsi:type=\"callExpressions:MethodCallExpression\">\r\n      <ownedParameterBindings>\r\n        <valueExpression xsi:type=\"expressions:TextualExpression\" expressionText=\"match\"/>\r\n        <parameter href=\"http://www.moflon.org.BlipTGG#//Rules/MModelToModelRule/isAppropriate_FWD/match\"/>\r\n      </ownedParameterBindings>\r\n      <ownedParameterBindings>\r\n        <valueExpression xsi:type=\"expressions:TextualExpression\" expressionText=\"applicationNode\"/>\r\n        <parameter href=\"http://www.moflon.org.BlipTGG#//Rules/MModelToModelRule/isAppropriate_FWD/applicationNode\"/>\r\n      </ownedParameterBindings>\r\n      <ownedParameterBindings>\r\n        <valueExpression xsi:type=\"expressions:TextualExpression\" expressionText=\"blipModelNode\"/>\r\n        <parameter href=\"http://www.moflon.org.BlipTGG#//Rules/MModelToModelRule/isAppropriate_FWD/blipModelNode\"/>\r\n      </ownedParameterBindings>\r\n      <ownedParameterBindings>\r\n        <valueExpression xsi:type=\"expressions:TextualExpression\" expressionText=\"nameAttr\"/>\r\n        <parameter href=\"http://www.moflon.org.BlipTGG#//Rules/MModelToModelRule/isAppropriate_FWD/nameAttr\"/>\r\n      </ownedParameterBindings>\r\n      <callee href=\"http://www.moflon.org.BlipTGG#//Rules/MModelToModelRule/isAppropriate_FWD\"/>\r\n      <target xsi:type=\"patternExpressions:ObjectVariableExpression\" object=\"//@ownedActivityNode.0/@storyPattern/@objectVariable.1\"/>\r\n    </statementExpression>\r\n  </ownedActivityNode>\r\n  <ownedActivityNode xsi:type=\"activities:StoryNode\" name=\"Add match to rule result\" outgoing=\"//@ownedActivityEdge.7\" incoming=\"//@ownedActivityEdge.6\">\r\n    <storyPattern>\r\n      <objectVariable name=\"match\" incomingLink=\"//@ownedActivityNode.6/@storyPattern/@linkVariable.0\" bindingState=\"BOUND\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"http://www.moflon.org.TGGRuntime#//Match\"/>\r\n      </objectVariable>\r\n      <objectVariable name=\"ruleresult\" outgoingLink=\"//@ownedActivityNode.6/@storyPattern/@linkVariable.0\" bindingState=\"BOUND\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"http://www.moflon.org.TGGRuntime#//IsAppropriateRuleResult\"/>\r\n      </objectVariable>\r\n      <linkVariable name=\"matches\" target=\"//@ownedActivityNode.6/@storyPattern/@objectVariable.0\" source=\"//@ownedActivityNode.6/@storyPattern/@objectVariable.1\" bindingOperator=\"CREATE\"/>\r\n    </storyPattern>\r\n  </ownedActivityNode>\r\n  <ownedActivityEdge source=\"//@ownedActivityNode.4\" target=\"//@ownedActivityNode.0\"/>\r\n  <ownedActivityEdge source=\"//@ownedActivityNode.1\" target=\"//@ownedActivityNode.5\" guard=\"EACH_TIME\"/>\r\n  <ownedActivityEdge source=\"//@ownedActivityNode.2\" target=\"//@ownedActivityNode.3\"/>\r\n  <ownedActivityEdge source=\"//@ownedActivityNode.1\" target=\"//@ownedActivityNode.2\" guard=\"END\"/>\r\n  <ownedActivityEdge source=\"//@ownedActivityNode.0\" target=\"//@ownedActivityNode.1\"/>\r\n  <ownedActivityEdge source=\"//@ownedActivityNode.5\" target=\"//@ownedActivityNode.1\" guard=\"FAILURE\"/>\r\n  <ownedActivityEdge source=\"//@ownedActivityNode.5\" target=\"//@ownedActivityNode.6\" guard=\"SUCCESS\"/>\r\n  <ownedActivityEdge source=\"//@ownedActivityNode.6\" target=\"//@ownedActivityNode.1\"/>\r\n</activities:Activity>\r\n" });
		addAnnotation(
				getMModelToModelRule__IsAppropriate_FWD_Node_4__Node(),
				source,
				new String[] {
						"XMI",
						"<?xml version=\"1.0\" encoding=\"UTF-8\"?>\r\n<activities:Activity xmi:version=\"2.0\" xmlns:xmi=\"http://www.omg.org/XMI\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:TGGLanguage=\"http://www.moflon.org.TGGLanguage\" xmlns:activities=\"http://www.moflon.org.SDMLanguage.activities\" xmlns:callExpressions=\"http://www.moflon.org.SDMLanguage.calls.callExpressions\" xmlns:csp=\"http://www.moflon.org.TGGLanguage.csp\" xmlns:ecore=\"http://www.eclipse.org/emf/2002/Ecore\" xmlns:expressions=\"http://www.moflon.org.SDMLanguage.expressions\" xmlns:patternExpressions=\"http://www.moflon.org.SDMLanguage.patterns.patternExpressions\">\r\n  <ownedActivityNode xsi:type=\"activities:StoryNode\" name=\"prepare return value\" outgoing=\"//@ownedActivityEdge.4\" incoming=\"//@ownedActivityEdge.0\">\r\n    <storyPattern>\r\n      <objectVariable name=\"performOperation\" incomingLink=\"//@ownedActivityNode.0/@storyPattern/@linkVariable.1 //@ownedActivityNode.0/@storyPattern/@linkVariable.0\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"http://www.eclipse.org/emf/2002/Ecore#//EOperation\"/>\r\n        <constraint>\r\n          <constraintExpression xsi:type=\"expressions:ComparisonExpression\" operator=\"EQUAL\">\r\n            <rightExpression xsi:type=\"expressions:LiteralExpression\" value=\"&quot;isApplicable_FWD&quot;\"/>\r\n            <leftExpression xsi:type=\"patternExpressions:AttributeValueExpression\" object=\"//@ownedActivityNode.0/@storyPattern/@objectVariable.0\">\r\n              <attribute href=\"http://www.eclipse.org/emf/2002/Ecore#//ENamedElement/name\"/>\r\n            </leftExpression>\r\n          </constraintExpression>\r\n        </constraint>\r\n      </objectVariable>\r\n      <objectVariable name=\"this\" bindingState=\"BOUND\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"http://www.moflon.org.BlipTGG#//Rules/MModelToModelRule\"/>\r\n      </objectVariable>\r\n      <objectVariable name=\"ruleresult\" outgoingLink=\"//@ownedActivityNode.0/@storyPattern/@linkVariable.0\" bindingOperator=\"CREATE\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"http://www.moflon.org.TGGRuntime#//IsAppropriateRuleResult\"/>\r\n        <attributeAssignment>\r\n          <attribute href=\"http://www.moflon.org.TGGRuntime#//RuleResult/success\"/>\r\n          <valueExpression xsi:type=\"expressions:LiteralExpression\" value=\"false\"/>\r\n        </attributeAssignment>\r\n      </objectVariable>\r\n      <objectVariable name=\"eClass\" outgoingLink=\"//@ownedActivityNode.0/@storyPattern/@linkVariable.1\" bindingState=\"BOUND\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"http://www.eclipse.org/emf/2002/Ecore#//EClass\"/>\r\n        <bindingExpression xsi:type=\"expressions:LiteralExpression\" value=\"this.eClass()\"/>\r\n      </objectVariable>\r\n      <linkVariable name=\"performOperation\" target=\"//@ownedActivityNode.0/@storyPattern/@objectVariable.0\" source=\"//@ownedActivityNode.0/@storyPattern/@objectVariable.2\" bindingOperator=\"CREATE\"/>\r\n      <linkVariable name=\"eOperations\" target=\"//@ownedActivityNode.0/@storyPattern/@objectVariable.0\" source=\"//@ownedActivityNode.0/@storyPattern/@objectVariable.3\"/>\r\n    </storyPattern>\r\n  </ownedActivityNode>\r\n  <ownedActivityNode xsi:type=\"activities:StoryNode\" name=\"test core match\" outgoing=\"//@ownedActivityEdge.3 //@ownedActivityEdge.1\" incoming=\"//@ownedActivityEdge.4 //@ownedActivityEdge.5 //@ownedActivityEdge.7\" forEach=\"true\">\r\n    <storyPattern xsi:type=\"TGGLanguage:TGGRule\" name=\"MModelToModelRule\" cspSpec=\"&#xD;&#xA;&#x9;&#x9;eq(nameAttr.value, blipModel.name)&#xD;&#xA;&#x9;\">\r\n      <objectVariable xsi:type=\"TGGLanguage:TGGObjectVariable\" name=\"applicationNode\" incomingLink=\"//@ownedActivityNode.1/@storyPattern/@linkVariable.0\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"platform:/plugin/org.moflon.moca.MocaTree/model/MocaTree.ecore#//Node\"/>\r\n        <domain href=\"platform:/resource/BlipTGG/model/BlipTGG.tgg.xmi#//@domain.0\"/>\r\n      </objectVariable>\r\n      <objectVariable xsi:type=\"TGGLanguage:TGGObjectVariable\" name=\"blipModelNode\" outgoingLink=\"//@ownedActivityNode.1/@storyPattern/@linkVariable.0 //@ownedActivityNode.1/@storyPattern/@linkVariable.1\" bindingState=\"BOUND\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"platform:/plugin/org.moflon.moca.MocaTree/model/MocaTree.ecore#//Node\"/>\r\n        <constraint>\r\n          <constraintExpression xsi:type=\"expressions:ComparisonExpression\" operator=\"EQUAL\">\r\n            <rightExpression xsi:type=\"expressions:LiteralExpression\" value=\"&quot;Model&quot;\"/>\r\n            <leftExpression xsi:type=\"patternExpressions:AttributeValueExpression\">\r\n              <attribute href=\"platform:/plugin/org.moflon.moca.MocaTree/model/MocaTree.ecore#//TreeElement/name\"/>\r\n            </leftExpression>\r\n          </constraintExpression>\r\n        </constraint>\r\n        <domain href=\"platform:/resource/BlipTGG/model/BlipTGG.tgg.xmi#//@domain.0\"/>\r\n      </objectVariable>\r\n      <objectVariable xsi:type=\"TGGLanguage:TGGObjectVariable\" name=\"nameAttr\" incomingLink=\"//@ownedActivityNode.1/@storyPattern/@linkVariable.1\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"platform:/plugin/org.moflon.moca.MocaTree/model/MocaTree.ecore#//Attribute\"/>\r\n        <constraint>\r\n          <constraintExpression xsi:type=\"expressions:ComparisonExpression\" operator=\"EQUAL\">\r\n            <rightExpression xsi:type=\"expressions:LiteralExpression\" value=\"&quot;name&quot;\"/>\r\n            <leftExpression xsi:type=\"patternExpressions:AttributeValueExpression\">\r\n              <attribute href=\"platform:/plugin/org.moflon.moca.MocaTree/model/MocaTree.ecore#//TreeElement/name\"/>\r\n            </leftExpression>\r\n          </constraintExpression>\r\n        </constraint>\r\n        <domain href=\"platform:/resource/BlipTGG/model/BlipTGG.tgg.xmi#//@domain.0\"/>\r\n      </objectVariable>\r\n      <objectVariable name=\"ruleresult\" bindingState=\"BOUND\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"http://www.moflon.org.TGGRuntime#//IsAppropriateRuleResult\"/>\r\n      </objectVariable>\r\n      <objectVariable name=\"match\" bindingOperator=\"CREATE\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"http://www.moflon.org.TGGRuntime#//Match\"/>\r\n      </objectVariable>\r\n      <linkVariable xsi:type=\"TGGLanguage:TGGLinkVariable\" name=\"parentNode\" target=\"//@ownedActivityNode.1/@storyPattern/@objectVariable.0\" source=\"//@ownedActivityNode.1/@storyPattern/@objectVariable.1\">\r\n        <domain href=\"platform:/resource/BlipTGG/model/BlipTGG.tgg.xmi#//@domain.0\"/>\r\n      </linkVariable>\r\n      <linkVariable xsi:type=\"TGGLanguage:TGGLinkVariable\" name=\"attribute\" target=\"//@ownedActivityNode.1/@storyPattern/@objectVariable.2\" source=\"//@ownedActivityNode.1/@storyPattern/@objectVariable.1\">\r\n        <domain href=\"platform:/resource/BlipTGG/model/BlipTGG.tgg.xmi#//@domain.0\"/>\r\n      </linkVariable>\r\n      <correspondence href=\"platform:/resource/BlipTGG/model/BlipTGG.tgg.xmi#//@domain.2\"/>\r\n      <source href=\"platform:/resource/BlipTGG/model/BlipTGG.tgg.xmi#//@domain.0\"/>\r\n      <csp>\r\n        <constraints variables=\"//@ownedActivityNode.1/@storyPattern/@csp/@variables.0 //@ownedActivityNode.1/@storyPattern/@csp/@variables.1\" name=\"eq\">\r\n          <allowedAdornments value=\"BB\"/>\r\n          <allowedAdornments value=\"BF\"/>\r\n          <allowedAdornments value=\"FB\"/>\r\n        </constraints>\r\n        <variables xsi:type=\"csp:AttributeVariable\" type=\"String\" attribute=\"value\" objectVariable=\"nameAttr\"/>\r\n        <variables xsi:type=\"csp:AttributeVariable\" type=\"String\" attribute=\"name\" objectVariable=\"blipModel\"/>\r\n      </csp>\r\n      <target href=\"platform:/resource/BlipTGG/model/BlipTGG.tgg.xmi#//@domain.1\"/>\r\n    </storyPattern>\r\n  </ownedActivityNode>\r\n  <ownedActivityNode xsi:type=\"activities:StoryNode\" name=\"set success\" outgoing=\"//@ownedActivityEdge.2\" incoming=\"//@ownedActivityEdge.3\">\r\n    <storyPattern>\r\n      <objectVariable name=\"match\" incomingLink=\"//@ownedActivityNode.2/@storyPattern/@linkVariable.0\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"http://www.moflon.org.TGGRuntime#//Match\"/>\r\n      </objectVariable>\r\n      <objectVariable name=\"ruleresult\" outgoingLink=\"//@ownedActivityNode.2/@storyPattern/@linkVariable.0\" bindingState=\"BOUND\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"http://www.moflon.org.TGGRuntime#//IsAppropriateRuleResult\"/>\r\n        <attributeAssignment>\r\n          <attribute href=\"http://www.moflon.org.TGGRuntime#//RuleResult/success\"/>\r\n          <valueExpression xsi:type=\"expressions:LiteralExpression\" value=\"true\"/>\r\n        </attributeAssignment>\r\n      </objectVariable>\r\n      <linkVariable name=\"matches\" target=\"//@ownedActivityNode.2/@storyPattern/@objectVariable.0\" source=\"//@ownedActivityNode.2/@storyPattern/@objectVariable.1\"/>\r\n    </storyPattern>\r\n  </ownedActivityNode>\r\n  <ownedActivityNode xsi:type=\"activities:StopNode\" incoming=\"//@ownedActivityEdge.2\">\r\n    <returnValue xsi:type=\"patternExpressions:ObjectVariableExpression\" object=\"//@ownedActivityNode.0/@storyPattern/@objectVariable.2\"/>\r\n  </ownedActivityNode>\r\n  <ownedActivityNode xsi:type=\"activities:StartNode\" outgoing=\"//@ownedActivityEdge.0\"/>\r\n  <ownedActivityNode xsi:type=\"activities:StatementNode\" name=\"bookkeeping with generic isAppropriate method\" outgoing=\"//@ownedActivityEdge.5 //@ownedActivityEdge.6\" incoming=\"//@ownedActivityEdge.1\">\r\n    <statementExpression xsi:type=\"callExpressions:MethodCallExpression\">\r\n      <ownedParameterBindings>\r\n        <valueExpression xsi:type=\"expressions:TextualExpression\" expressionText=\"match\"/>\r\n        <parameter href=\"http://www.moflon.org.BlipTGG#//Rules/MModelToModelRule/isAppropriate_FWD/match\"/>\r\n      </ownedParameterBindings>\r\n      <ownedParameterBindings>\r\n        <valueExpression xsi:type=\"expressions:TextualExpression\" expressionText=\"applicationNode\"/>\r\n        <parameter href=\"http://www.moflon.org.BlipTGG#//Rules/MModelToModelRule/isAppropriate_FWD/applicationNode\"/>\r\n      </ownedParameterBindings>\r\n      <ownedParameterBindings>\r\n        <valueExpression xsi:type=\"expressions:TextualExpression\" expressionText=\"blipModelNode\"/>\r\n        <parameter href=\"http://www.moflon.org.BlipTGG#//Rules/MModelToModelRule/isAppropriate_FWD/blipModelNode\"/>\r\n      </ownedParameterBindings>\r\n      <ownedParameterBindings>\r\n        <valueExpression xsi:type=\"expressions:TextualExpression\" expressionText=\"nameAttr\"/>\r\n        <parameter href=\"http://www.moflon.org.BlipTGG#//Rules/MModelToModelRule/isAppropriate_FWD/nameAttr\"/>\r\n      </ownedParameterBindings>\r\n      <callee href=\"http://www.moflon.org.BlipTGG#//Rules/MModelToModelRule/isAppropriate_FWD\"/>\r\n      <target xsi:type=\"patternExpressions:ObjectVariableExpression\" object=\"//@ownedActivityNode.0/@storyPattern/@objectVariable.1\"/>\r\n    </statementExpression>\r\n  </ownedActivityNode>\r\n  <ownedActivityNode xsi:type=\"activities:StoryNode\" name=\"Add match to rule result\" outgoing=\"//@ownedActivityEdge.7\" incoming=\"//@ownedActivityEdge.6\">\r\n    <storyPattern>\r\n      <objectVariable name=\"match\" incomingLink=\"//@ownedActivityNode.6/@storyPattern/@linkVariable.0\" bindingState=\"BOUND\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"http://www.moflon.org.TGGRuntime#//Match\"/>\r\n      </objectVariable>\r\n      <objectVariable name=\"ruleresult\" outgoingLink=\"//@ownedActivityNode.6/@storyPattern/@linkVariable.0\" bindingState=\"BOUND\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"http://www.moflon.org.TGGRuntime#//IsAppropriateRuleResult\"/>\r\n      </objectVariable>\r\n      <linkVariable name=\"matches\" target=\"//@ownedActivityNode.6/@storyPattern/@objectVariable.0\" source=\"//@ownedActivityNode.6/@storyPattern/@objectVariable.1\" bindingOperator=\"CREATE\"/>\r\n    </storyPattern>\r\n  </ownedActivityNode>\r\n  <ownedActivityEdge source=\"//@ownedActivityNode.4\" target=\"//@ownedActivityNode.0\"/>\r\n  <ownedActivityEdge source=\"//@ownedActivityNode.1\" target=\"//@ownedActivityNode.5\" guard=\"EACH_TIME\"/>\r\n  <ownedActivityEdge source=\"//@ownedActivityNode.2\" target=\"//@ownedActivityNode.3\"/>\r\n  <ownedActivityEdge source=\"//@ownedActivityNode.1\" target=\"//@ownedActivityNode.2\" guard=\"END\"/>\r\n  <ownedActivityEdge source=\"//@ownedActivityNode.0\" target=\"//@ownedActivityNode.1\"/>\r\n  <ownedActivityEdge source=\"//@ownedActivityNode.5\" target=\"//@ownedActivityNode.1\" guard=\"FAILURE\"/>\r\n  <ownedActivityEdge source=\"//@ownedActivityNode.5\" target=\"//@ownedActivityNode.6\" guard=\"SUCCESS\"/>\r\n  <ownedActivityEdge source=\"//@ownedActivityNode.6\" target=\"//@ownedActivityNode.1\"/>\r\n</activities:Activity>\r\n" });
		addAnnotation(
				getMModelToModelRule__IsAppropriate_FWD_Attribute_5__Attribute(),
				source,
				new String[] {
						"XMI",
						"<?xml version=\"1.0\" encoding=\"UTF-8\"?>\r\n<activities:Activity xmi:version=\"2.0\" xmlns:xmi=\"http://www.omg.org/XMI\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:TGGLanguage=\"http://www.moflon.org.TGGLanguage\" xmlns:activities=\"http://www.moflon.org.SDMLanguage.activities\" xmlns:callExpressions=\"http://www.moflon.org.SDMLanguage.calls.callExpressions\" xmlns:csp=\"http://www.moflon.org.TGGLanguage.csp\" xmlns:ecore=\"http://www.eclipse.org/emf/2002/Ecore\" xmlns:expressions=\"http://www.moflon.org.SDMLanguage.expressions\" xmlns:patternExpressions=\"http://www.moflon.org.SDMLanguage.patterns.patternExpressions\">\r\n  <ownedActivityNode xsi:type=\"activities:StoryNode\" name=\"prepare return value\" outgoing=\"//@ownedActivityEdge.4\" incoming=\"//@ownedActivityEdge.0\">\r\n    <storyPattern>\r\n      <objectVariable name=\"performOperation\" incomingLink=\"//@ownedActivityNode.0/@storyPattern/@linkVariable.1 //@ownedActivityNode.0/@storyPattern/@linkVariable.0\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"http://www.eclipse.org/emf/2002/Ecore#//EOperation\"/>\r\n        <constraint>\r\n          <constraintExpression xsi:type=\"expressions:ComparisonExpression\" operator=\"EQUAL\">\r\n            <rightExpression xsi:type=\"expressions:LiteralExpression\" value=\"&quot;isApplicable_FWD&quot;\"/>\r\n            <leftExpression xsi:type=\"patternExpressions:AttributeValueExpression\" object=\"//@ownedActivityNode.0/@storyPattern/@objectVariable.0\">\r\n              <attribute href=\"http://www.eclipse.org/emf/2002/Ecore#//ENamedElement/name\"/>\r\n            </leftExpression>\r\n          </constraintExpression>\r\n        </constraint>\r\n      </objectVariable>\r\n      <objectVariable name=\"this\" bindingState=\"BOUND\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"http://www.moflon.org.BlipTGG#//Rules/MModelToModelRule\"/>\r\n      </objectVariable>\r\n      <objectVariable name=\"ruleresult\" outgoingLink=\"//@ownedActivityNode.0/@storyPattern/@linkVariable.0\" bindingOperator=\"CREATE\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"http://www.moflon.org.TGGRuntime#//IsAppropriateRuleResult\"/>\r\n        <attributeAssignment>\r\n          <attribute href=\"http://www.moflon.org.TGGRuntime#//RuleResult/success\"/>\r\n          <valueExpression xsi:type=\"expressions:LiteralExpression\" value=\"false\"/>\r\n        </attributeAssignment>\r\n      </objectVariable>\r\n      <objectVariable name=\"eClass\" outgoingLink=\"//@ownedActivityNode.0/@storyPattern/@linkVariable.1\" bindingState=\"BOUND\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"http://www.eclipse.org/emf/2002/Ecore#//EClass\"/>\r\n        <bindingExpression xsi:type=\"expressions:LiteralExpression\" value=\"this.eClass()\"/>\r\n      </objectVariable>\r\n      <linkVariable name=\"performOperation\" target=\"//@ownedActivityNode.0/@storyPattern/@objectVariable.0\" source=\"//@ownedActivityNode.0/@storyPattern/@objectVariable.2\" bindingOperator=\"CREATE\"/>\r\n      <linkVariable name=\"eOperations\" target=\"//@ownedActivityNode.0/@storyPattern/@objectVariable.0\" source=\"//@ownedActivityNode.0/@storyPattern/@objectVariable.3\"/>\r\n    </storyPattern>\r\n  </ownedActivityNode>\r\n  <ownedActivityNode xsi:type=\"activities:StoryNode\" name=\"test core match\" outgoing=\"//@ownedActivityEdge.3 //@ownedActivityEdge.1\" incoming=\"//@ownedActivityEdge.4 //@ownedActivityEdge.5 //@ownedActivityEdge.7\" forEach=\"true\">\r\n    <storyPattern xsi:type=\"TGGLanguage:TGGRule\" name=\"MModelToModelRule\" cspSpec=\"&#xD;&#xA;&#x9;&#x9;eq(nameAttr.value, blipModel.name)&#xD;&#xA;&#x9;\">\r\n      <objectVariable xsi:type=\"TGGLanguage:TGGObjectVariable\" name=\"applicationNode\" incomingLink=\"//@ownedActivityNode.1/@storyPattern/@linkVariable.0\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"platform:/plugin/org.moflon.moca.MocaTree/model/MocaTree.ecore#//Node\"/>\r\n        <domain href=\"platform:/resource/BlipTGG/model/BlipTGG.tgg.xmi#//@domain.0\"/>\r\n      </objectVariable>\r\n      <objectVariable xsi:type=\"TGGLanguage:TGGObjectVariable\" name=\"blipModelNode\" outgoingLink=\"//@ownedActivityNode.1/@storyPattern/@linkVariable.0 //@ownedActivityNode.1/@storyPattern/@linkVariable.1\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"platform:/plugin/org.moflon.moca.MocaTree/model/MocaTree.ecore#//Node\"/>\r\n        <constraint>\r\n          <constraintExpression xsi:type=\"expressions:ComparisonExpression\" operator=\"EQUAL\">\r\n            <rightExpression xsi:type=\"expressions:LiteralExpression\" value=\"&quot;Model&quot;\"/>\r\n            <leftExpression xsi:type=\"patternExpressions:AttributeValueExpression\">\r\n              <attribute href=\"platform:/plugin/org.moflon.moca.MocaTree/model/MocaTree.ecore#//TreeElement/name\"/>\r\n            </leftExpression>\r\n          </constraintExpression>\r\n        </constraint>\r\n        <domain href=\"platform:/resource/BlipTGG/model/BlipTGG.tgg.xmi#//@domain.0\"/>\r\n      </objectVariable>\r\n      <objectVariable xsi:type=\"TGGLanguage:TGGObjectVariable\" name=\"nameAttr\" incomingLink=\"//@ownedActivityNode.1/@storyPattern/@linkVariable.1\" bindingState=\"BOUND\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"platform:/plugin/org.moflon.moca.MocaTree/model/MocaTree.ecore#//Attribute\"/>\r\n        <constraint>\r\n          <constraintExpression xsi:type=\"expressions:ComparisonExpression\" operator=\"EQUAL\">\r\n            <rightExpression xsi:type=\"expressions:LiteralExpression\" value=\"&quot;name&quot;\"/>\r\n            <leftExpression xsi:type=\"patternExpressions:AttributeValueExpression\">\r\n              <attribute href=\"platform:/plugin/org.moflon.moca.MocaTree/model/MocaTree.ecore#//TreeElement/name\"/>\r\n            </leftExpression>\r\n          </constraintExpression>\r\n        </constraint>\r\n        <domain href=\"platform:/resource/BlipTGG/model/BlipTGG.tgg.xmi#//@domain.0\"/>\r\n      </objectVariable>\r\n      <objectVariable name=\"ruleresult\" bindingState=\"BOUND\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"http://www.moflon.org.TGGRuntime#//IsAppropriateRuleResult\"/>\r\n      </objectVariable>\r\n      <objectVariable name=\"match\" bindingOperator=\"CREATE\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"http://www.moflon.org.TGGRuntime#//Match\"/>\r\n      </objectVariable>\r\n      <linkVariable xsi:type=\"TGGLanguage:TGGLinkVariable\" name=\"parentNode\" target=\"//@ownedActivityNode.1/@storyPattern/@objectVariable.0\" source=\"//@ownedActivityNode.1/@storyPattern/@objectVariable.1\">\r\n        <domain href=\"platform:/resource/BlipTGG/model/BlipTGG.tgg.xmi#//@domain.0\"/>\r\n      </linkVariable>\r\n      <linkVariable xsi:type=\"TGGLanguage:TGGLinkVariable\" name=\"attribute\" target=\"//@ownedActivityNode.1/@storyPattern/@objectVariable.2\" source=\"//@ownedActivityNode.1/@storyPattern/@objectVariable.1\">\r\n        <domain href=\"platform:/resource/BlipTGG/model/BlipTGG.tgg.xmi#//@domain.0\"/>\r\n      </linkVariable>\r\n      <correspondence href=\"platform:/resource/BlipTGG/model/BlipTGG.tgg.xmi#//@domain.2\"/>\r\n      <source href=\"platform:/resource/BlipTGG/model/BlipTGG.tgg.xmi#//@domain.0\"/>\r\n      <csp>\r\n        <constraints variables=\"//@ownedActivityNode.1/@storyPattern/@csp/@variables.0 //@ownedActivityNode.1/@storyPattern/@csp/@variables.1\" name=\"eq\">\r\n          <allowedAdornments value=\"BB\"/>\r\n          <allowedAdornments value=\"BF\"/>\r\n          <allowedAdornments value=\"FB\"/>\r\n        </constraints>\r\n        <variables xsi:type=\"csp:AttributeVariable\" type=\"String\" attribute=\"value\" objectVariable=\"nameAttr\"/>\r\n        <variables xsi:type=\"csp:AttributeVariable\" type=\"String\" attribute=\"name\" objectVariable=\"blipModel\"/>\r\n      </csp>\r\n      <target href=\"platform:/resource/BlipTGG/model/BlipTGG.tgg.xmi#//@domain.1\"/>\r\n    </storyPattern>\r\n  </ownedActivityNode>\r\n  <ownedActivityNode xsi:type=\"activities:StoryNode\" name=\"set success\" outgoing=\"//@ownedActivityEdge.2\" incoming=\"//@ownedActivityEdge.3\">\r\n    <storyPattern>\r\n      <objectVariable name=\"match\" incomingLink=\"//@ownedActivityNode.2/@storyPattern/@linkVariable.0\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"http://www.moflon.org.TGGRuntime#//Match\"/>\r\n      </objectVariable>\r\n      <objectVariable name=\"ruleresult\" outgoingLink=\"//@ownedActivityNode.2/@storyPattern/@linkVariable.0\" bindingState=\"BOUND\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"http://www.moflon.org.TGGRuntime#//IsAppropriateRuleResult\"/>\r\n        <attributeAssignment>\r\n          <attribute href=\"http://www.moflon.org.TGGRuntime#//RuleResult/success\"/>\r\n          <valueExpression xsi:type=\"expressions:LiteralExpression\" value=\"true\"/>\r\n        </attributeAssignment>\r\n      </objectVariable>\r\n      <linkVariable name=\"matches\" target=\"//@ownedActivityNode.2/@storyPattern/@objectVariable.0\" source=\"//@ownedActivityNode.2/@storyPattern/@objectVariable.1\"/>\r\n    </storyPattern>\r\n  </ownedActivityNode>\r\n  <ownedActivityNode xsi:type=\"activities:StopNode\" incoming=\"//@ownedActivityEdge.2\">\r\n    <returnValue xsi:type=\"patternExpressions:ObjectVariableExpression\" object=\"//@ownedActivityNode.0/@storyPattern/@objectVariable.2\"/>\r\n  </ownedActivityNode>\r\n  <ownedActivityNode xsi:type=\"activities:StartNode\" outgoing=\"//@ownedActivityEdge.0\"/>\r\n  <ownedActivityNode xsi:type=\"activities:StatementNode\" name=\"bookkeeping with generic isAppropriate method\" outgoing=\"//@ownedActivityEdge.5 //@ownedActivityEdge.6\" incoming=\"//@ownedActivityEdge.1\">\r\n    <statementExpression xsi:type=\"callExpressions:MethodCallExpression\">\r\n      <ownedParameterBindings>\r\n        <valueExpression xsi:type=\"expressions:TextualExpression\" expressionText=\"match\"/>\r\n        <parameter href=\"http://www.moflon.org.BlipTGG#//Rules/MModelToModelRule/isAppropriate_FWD/match\"/>\r\n      </ownedParameterBindings>\r\n      <ownedParameterBindings>\r\n        <valueExpression xsi:type=\"expressions:TextualExpression\" expressionText=\"applicationNode\"/>\r\n        <parameter href=\"http://www.moflon.org.BlipTGG#//Rules/MModelToModelRule/isAppropriate_FWD/applicationNode\"/>\r\n      </ownedParameterBindings>\r\n      <ownedParameterBindings>\r\n        <valueExpression xsi:type=\"expressions:TextualExpression\" expressionText=\"blipModelNode\"/>\r\n        <parameter href=\"http://www.moflon.org.BlipTGG#//Rules/MModelToModelRule/isAppropriate_FWD/blipModelNode\"/>\r\n      </ownedParameterBindings>\r\n      <ownedParameterBindings>\r\n        <valueExpression xsi:type=\"expressions:TextualExpression\" expressionText=\"nameAttr\"/>\r\n        <parameter href=\"http://www.moflon.org.BlipTGG#//Rules/MModelToModelRule/isAppropriate_FWD/nameAttr\"/>\r\n      </ownedParameterBindings>\r\n      <callee href=\"http://www.moflon.org.BlipTGG#//Rules/MModelToModelRule/isAppropriate_FWD\"/>\r\n      <target xsi:type=\"patternExpressions:ObjectVariableExpression\" object=\"//@ownedActivityNode.0/@storyPattern/@objectVariable.1\"/>\r\n    </statementExpression>\r\n  </ownedActivityNode>\r\n  <ownedActivityNode xsi:type=\"activities:StoryNode\" name=\"Add match to rule result\" outgoing=\"//@ownedActivityEdge.7\" incoming=\"//@ownedActivityEdge.6\">\r\n    <storyPattern>\r\n      <objectVariable name=\"match\" incomingLink=\"//@ownedActivityNode.6/@storyPattern/@linkVariable.0\" bindingState=\"BOUND\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"http://www.moflon.org.TGGRuntime#//Match\"/>\r\n      </objectVariable>\r\n      <objectVariable name=\"ruleresult\" outgoingLink=\"//@ownedActivityNode.6/@storyPattern/@linkVariable.0\" bindingState=\"BOUND\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"http://www.moflon.org.TGGRuntime#//IsAppropriateRuleResult\"/>\r\n      </objectVariable>\r\n      <linkVariable name=\"matches\" target=\"//@ownedActivityNode.6/@storyPattern/@objectVariable.0\" source=\"//@ownedActivityNode.6/@storyPattern/@objectVariable.1\" bindingOperator=\"CREATE\"/>\r\n    </storyPattern>\r\n  </ownedActivityNode>\r\n  <ownedActivityEdge source=\"//@ownedActivityNode.4\" target=\"//@ownedActivityNode.0\"/>\r\n  <ownedActivityEdge source=\"//@ownedActivityNode.1\" target=\"//@ownedActivityNode.5\" guard=\"EACH_TIME\"/>\r\n  <ownedActivityEdge source=\"//@ownedActivityNode.2\" target=\"//@ownedActivityNode.3\"/>\r\n  <ownedActivityEdge source=\"//@ownedActivityNode.1\" target=\"//@ownedActivityNode.2\" guard=\"END\"/>\r\n  <ownedActivityEdge source=\"//@ownedActivityNode.0\" target=\"//@ownedActivityNode.1\"/>\r\n  <ownedActivityEdge source=\"//@ownedActivityNode.5\" target=\"//@ownedActivityNode.1\" guard=\"FAILURE\"/>\r\n  <ownedActivityEdge source=\"//@ownedActivityNode.5\" target=\"//@ownedActivityNode.6\" guard=\"SUCCESS\"/>\r\n  <ownedActivityEdge source=\"//@ownedActivityNode.6\" target=\"//@ownedActivityNode.1\"/>\r\n</activities:Activity>\r\n" });
		addAnnotation(
				getMModelToModelRule__IsAppropriate_BWD_BlipApplication_1__BlipApplication(),
				source,
				new String[] {
						"XMI",
						"<?xml version=\"1.0\" encoding=\"UTF-8\"?>\r\n<activities:Activity xmi:version=\"2.0\" xmlns:xmi=\"http://www.omg.org/XMI\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:TGGLanguage=\"http://www.moflon.org.TGGLanguage\" xmlns:activities=\"http://www.moflon.org.SDMLanguage.activities\" xmlns:callExpressions=\"http://www.moflon.org.SDMLanguage.calls.callExpressions\" xmlns:csp=\"http://www.moflon.org.TGGLanguage.csp\" xmlns:ecore=\"http://www.eclipse.org/emf/2002/Ecore\" xmlns:expressions=\"http://www.moflon.org.SDMLanguage.expressions\" xmlns:patternExpressions=\"http://www.moflon.org.SDMLanguage.patterns.patternExpressions\">\r\n  <ownedActivityNode xsi:type=\"activities:StoryNode\" name=\"prepare return value\" outgoing=\"//@ownedActivityEdge.4\" incoming=\"//@ownedActivityEdge.0\">\r\n    <storyPattern>\r\n      <objectVariable name=\"performOperation\" incomingLink=\"//@ownedActivityNode.0/@storyPattern/@linkVariable.1 //@ownedActivityNode.0/@storyPattern/@linkVariable.0\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"http://www.eclipse.org/emf/2002/Ecore#//EOperation\"/>\r\n        <constraint>\r\n          <constraintExpression xsi:type=\"expressions:ComparisonExpression\" operator=\"EQUAL\">\r\n            <rightExpression xsi:type=\"expressions:LiteralExpression\" value=\"&quot;isApplicable_BWD&quot;\"/>\r\n            <leftExpression xsi:type=\"patternExpressions:AttributeValueExpression\" object=\"//@ownedActivityNode.0/@storyPattern/@objectVariable.0\">\r\n              <attribute href=\"http://www.eclipse.org/emf/2002/Ecore#//ENamedElement/name\"/>\r\n            </leftExpression>\r\n          </constraintExpression>\r\n        </constraint>\r\n      </objectVariable>\r\n      <objectVariable name=\"this\" bindingState=\"BOUND\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"http://www.moflon.org.BlipTGG#//Rules/MModelToModelRule\"/>\r\n      </objectVariable>\r\n      <objectVariable name=\"ruleresult\" outgoingLink=\"//@ownedActivityNode.0/@storyPattern/@linkVariable.0\" bindingOperator=\"CREATE\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"http://www.moflon.org.TGGRuntime#//IsAppropriateRuleResult\"/>\r\n        <attributeAssignment>\r\n          <attribute href=\"http://www.moflon.org.TGGRuntime#//RuleResult/success\"/>\r\n          <valueExpression xsi:type=\"expressions:LiteralExpression\" value=\"false\"/>\r\n        </attributeAssignment>\r\n      </objectVariable>\r\n      <objectVariable name=\"eClass\" outgoingLink=\"//@ownedActivityNode.0/@storyPattern/@linkVariable.1\" bindingState=\"BOUND\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"http://www.eclipse.org/emf/2002/Ecore#//EClass\"/>\r\n        <bindingExpression xsi:type=\"expressions:LiteralExpression\" value=\"this.eClass()\"/>\r\n      </objectVariable>\r\n      <linkVariable name=\"performOperation\" target=\"//@ownedActivityNode.0/@storyPattern/@objectVariable.0\" source=\"//@ownedActivityNode.0/@storyPattern/@objectVariable.2\" bindingOperator=\"CREATE\"/>\r\n      <linkVariable name=\"eOperations\" target=\"//@ownedActivityNode.0/@storyPattern/@objectVariable.0\" source=\"//@ownedActivityNode.0/@storyPattern/@objectVariable.3\"/>\r\n    </storyPattern>\r\n  </ownedActivityNode>\r\n  <ownedActivityNode xsi:type=\"activities:StoryNode\" name=\"test core match\" outgoing=\"//@ownedActivityEdge.3 //@ownedActivityEdge.1\" incoming=\"//@ownedActivityEdge.4 //@ownedActivityEdge.5 //@ownedActivityEdge.7\" forEach=\"true\">\r\n    <storyPattern xsi:type=\"TGGLanguage:TGGRule\" name=\"MModelToModelRule\" cspSpec=\"&#xD;&#xA;&#x9;&#x9;eq(nameAttr.value, blipModel.name)&#xD;&#xA;&#x9;\">\r\n      <objectVariable xsi:type=\"TGGLanguage:TGGObjectVariable\" name=\"application\" outgoingLink=\"//@ownedActivityNode.1/@storyPattern/@linkVariable.0\" bindingState=\"BOUND\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"platform:/resource/BlipLanguage/model/BlipLanguage.ecore#//BlipApplication\"/>\r\n        <domain href=\"platform:/resource/BlipTGG/model/BlipTGG.tgg.xmi#//@domain.1\"/>\r\n      </objectVariable>\r\n      <objectVariable xsi:type=\"TGGLanguage:TGGObjectVariable\" name=\"blipModel\" incomingLink=\"//@ownedActivityNode.1/@storyPattern/@linkVariable.0\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"platform:/resource/BlipLanguage/model/BlipLanguage.ecore#//BlipModel\"/>\r\n        <domain href=\"platform:/resource/BlipTGG/model/BlipTGG.tgg.xmi#//@domain.1\"/>\r\n      </objectVariable>\r\n      <objectVariable name=\"ruleresult\" bindingState=\"BOUND\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"http://www.moflon.org.TGGRuntime#//IsAppropriateRuleResult\"/>\r\n      </objectVariable>\r\n      <objectVariable name=\"match\" bindingOperator=\"CREATE\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"http://www.moflon.org.TGGRuntime#//Match\"/>\r\n      </objectVariable>\r\n      <linkVariable xsi:type=\"TGGLanguage:TGGLinkVariable\" name=\"models\" target=\"//@ownedActivityNode.1/@storyPattern/@objectVariable.1\" source=\"//@ownedActivityNode.1/@storyPattern/@objectVariable.0\">\r\n        <domain href=\"platform:/resource/BlipTGG/model/BlipTGG.tgg.xmi#//@domain.1\"/>\r\n      </linkVariable>\r\n      <correspondence href=\"platform:/resource/BlipTGG/model/BlipTGG.tgg.xmi#//@domain.2\"/>\r\n      <source href=\"platform:/resource/BlipTGG/model/BlipTGG.tgg.xmi#//@domain.0\"/>\r\n      <csp>\r\n        <constraints variables=\"//@ownedActivityNode.1/@storyPattern/@csp/@variables.0 //@ownedActivityNode.1/@storyPattern/@csp/@variables.1\" name=\"eq\">\r\n          <allowedAdornments value=\"BB\"/>\r\n          <allowedAdornments value=\"BF\"/>\r\n          <allowedAdornments value=\"FB\"/>\r\n        </constraints>\r\n        <variables xsi:type=\"csp:AttributeVariable\" type=\"String\" attribute=\"value\" objectVariable=\"nameAttr\"/>\r\n        <variables xsi:type=\"csp:AttributeVariable\" type=\"String\" attribute=\"name\" objectVariable=\"blipModel\"/>\r\n      </csp>\r\n      <target href=\"platform:/resource/BlipTGG/model/BlipTGG.tgg.xmi#//@domain.1\"/>\r\n    </storyPattern>\r\n  </ownedActivityNode>\r\n  <ownedActivityNode xsi:type=\"activities:StoryNode\" name=\"set success\" outgoing=\"//@ownedActivityEdge.2\" incoming=\"//@ownedActivityEdge.3\">\r\n    <storyPattern>\r\n      <objectVariable name=\"match\" incomingLink=\"//@ownedActivityNode.2/@storyPattern/@linkVariable.0\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"http://www.moflon.org.TGGRuntime#//Match\"/>\r\n      </objectVariable>\r\n      <objectVariable name=\"ruleresult\" outgoingLink=\"//@ownedActivityNode.2/@storyPattern/@linkVariable.0\" bindingState=\"BOUND\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"http://www.moflon.org.TGGRuntime#//IsAppropriateRuleResult\"/>\r\n        <attributeAssignment>\r\n          <attribute href=\"http://www.moflon.org.TGGRuntime#//RuleResult/success\"/>\r\n          <valueExpression xsi:type=\"expressions:LiteralExpression\" value=\"true\"/>\r\n        </attributeAssignment>\r\n      </objectVariable>\r\n      <linkVariable name=\"matches\" target=\"//@ownedActivityNode.2/@storyPattern/@objectVariable.0\" source=\"//@ownedActivityNode.2/@storyPattern/@objectVariable.1\"/>\r\n    </storyPattern>\r\n  </ownedActivityNode>\r\n  <ownedActivityNode xsi:type=\"activities:StopNode\" incoming=\"//@ownedActivityEdge.2\">\r\n    <returnValue xsi:type=\"patternExpressions:ObjectVariableExpression\" object=\"//@ownedActivityNode.0/@storyPattern/@objectVariable.2\"/>\r\n  </ownedActivityNode>\r\n  <ownedActivityNode xsi:type=\"activities:StartNode\" outgoing=\"//@ownedActivityEdge.0\"/>\r\n  <ownedActivityNode xsi:type=\"activities:StatementNode\" name=\"bookkeeping with generic isAppropriate method\" outgoing=\"//@ownedActivityEdge.5 //@ownedActivityEdge.6\" incoming=\"//@ownedActivityEdge.1\">\r\n    <statementExpression xsi:type=\"callExpressions:MethodCallExpression\">\r\n      <ownedParameterBindings>\r\n        <valueExpression xsi:type=\"expressions:TextualExpression\" expressionText=\"match\"/>\r\n        <parameter href=\"http://www.moflon.org.BlipTGG#//Rules/MModelToModelRule/isAppropriate_BWD/match\"/>\r\n      </ownedParameterBindings>\r\n      <ownedParameterBindings>\r\n        <valueExpression xsi:type=\"expressions:TextualExpression\" expressionText=\"application\"/>\r\n        <parameter href=\"http://www.moflon.org.BlipTGG#//Rules/MModelToModelRule/isAppropriate_BWD/application\"/>\r\n      </ownedParameterBindings>\r\n      <ownedParameterBindings>\r\n        <valueExpression xsi:type=\"expressions:TextualExpression\" expressionText=\"blipModel\"/>\r\n        <parameter href=\"http://www.moflon.org.BlipTGG#//Rules/MModelToModelRule/isAppropriate_BWD/blipModel\"/>\r\n      </ownedParameterBindings>\r\n      <callee href=\"http://www.moflon.org.BlipTGG#//Rules/MModelToModelRule/isAppropriate_BWD\"/>\r\n      <target xsi:type=\"patternExpressions:ObjectVariableExpression\" object=\"//@ownedActivityNode.0/@storyPattern/@objectVariable.1\"/>\r\n    </statementExpression>\r\n  </ownedActivityNode>\r\n  <ownedActivityNode xsi:type=\"activities:StoryNode\" name=\"Add match to rule result\" outgoing=\"//@ownedActivityEdge.7\" incoming=\"//@ownedActivityEdge.6\">\r\n    <storyPattern>\r\n      <objectVariable name=\"match\" incomingLink=\"//@ownedActivityNode.6/@storyPattern/@linkVariable.0\" bindingState=\"BOUND\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"http://www.moflon.org.TGGRuntime#//Match\"/>\r\n      </objectVariable>\r\n      <objectVariable name=\"ruleresult\" outgoingLink=\"//@ownedActivityNode.6/@storyPattern/@linkVariable.0\" bindingState=\"BOUND\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"http://www.moflon.org.TGGRuntime#//IsAppropriateRuleResult\"/>\r\n      </objectVariable>\r\n      <linkVariable name=\"matches\" target=\"//@ownedActivityNode.6/@storyPattern/@objectVariable.0\" source=\"//@ownedActivityNode.6/@storyPattern/@objectVariable.1\" bindingOperator=\"CREATE\"/>\r\n    </storyPattern>\r\n  </ownedActivityNode>\r\n  <ownedActivityEdge source=\"//@ownedActivityNode.4\" target=\"//@ownedActivityNode.0\"/>\r\n  <ownedActivityEdge source=\"//@ownedActivityNode.1\" target=\"//@ownedActivityNode.5\" guard=\"EACH_TIME\"/>\r\n  <ownedActivityEdge source=\"//@ownedActivityNode.2\" target=\"//@ownedActivityNode.3\"/>\r\n  <ownedActivityEdge source=\"//@ownedActivityNode.1\" target=\"//@ownedActivityNode.2\" guard=\"END\"/>\r\n  <ownedActivityEdge source=\"//@ownedActivityNode.0\" target=\"//@ownedActivityNode.1\"/>\r\n  <ownedActivityEdge source=\"//@ownedActivityNode.5\" target=\"//@ownedActivityNode.1\" guard=\"FAILURE\"/>\r\n  <ownedActivityEdge source=\"//@ownedActivityNode.5\" target=\"//@ownedActivityNode.6\" guard=\"SUCCESS\"/>\r\n  <ownedActivityEdge source=\"//@ownedActivityNode.6\" target=\"//@ownedActivityNode.1\"/>\r\n</activities:Activity>\r\n" });
		addAnnotation(
				getMModelToModelRule__IsAppropriate_BWD_BlipModel_1__BlipModel(),
				source,
				new String[] {
						"XMI",
						"<?xml version=\"1.0\" encoding=\"UTF-8\"?>\r\n<activities:Activity xmi:version=\"2.0\" xmlns:xmi=\"http://www.omg.org/XMI\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:TGGLanguage=\"http://www.moflon.org.TGGLanguage\" xmlns:activities=\"http://www.moflon.org.SDMLanguage.activities\" xmlns:callExpressions=\"http://www.moflon.org.SDMLanguage.calls.callExpressions\" xmlns:csp=\"http://www.moflon.org.TGGLanguage.csp\" xmlns:ecore=\"http://www.eclipse.org/emf/2002/Ecore\" xmlns:expressions=\"http://www.moflon.org.SDMLanguage.expressions\" xmlns:patternExpressions=\"http://www.moflon.org.SDMLanguage.patterns.patternExpressions\">\r\n  <ownedActivityNode xsi:type=\"activities:StoryNode\" name=\"prepare return value\" outgoing=\"//@ownedActivityEdge.4\" incoming=\"//@ownedActivityEdge.0\">\r\n    <storyPattern>\r\n      <objectVariable name=\"performOperation\" incomingLink=\"//@ownedActivityNode.0/@storyPattern/@linkVariable.1 //@ownedActivityNode.0/@storyPattern/@linkVariable.0\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"http://www.eclipse.org/emf/2002/Ecore#//EOperation\"/>\r\n        <constraint>\r\n          <constraintExpression xsi:type=\"expressions:ComparisonExpression\" operator=\"EQUAL\">\r\n            <rightExpression xsi:type=\"expressions:LiteralExpression\" value=\"&quot;isApplicable_BWD&quot;\"/>\r\n            <leftExpression xsi:type=\"patternExpressions:AttributeValueExpression\" object=\"//@ownedActivityNode.0/@storyPattern/@objectVariable.0\">\r\n              <attribute href=\"http://www.eclipse.org/emf/2002/Ecore#//ENamedElement/name\"/>\r\n            </leftExpression>\r\n          </constraintExpression>\r\n        </constraint>\r\n      </objectVariable>\r\n      <objectVariable name=\"this\" bindingState=\"BOUND\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"http://www.moflon.org.BlipTGG#//Rules/MModelToModelRule\"/>\r\n      </objectVariable>\r\n      <objectVariable name=\"ruleresult\" outgoingLink=\"//@ownedActivityNode.0/@storyPattern/@linkVariable.0\" bindingOperator=\"CREATE\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"http://www.moflon.org.TGGRuntime#//IsAppropriateRuleResult\"/>\r\n        <attributeAssignment>\r\n          <attribute href=\"http://www.moflon.org.TGGRuntime#//RuleResult/success\"/>\r\n          <valueExpression xsi:type=\"expressions:LiteralExpression\" value=\"false\"/>\r\n        </attributeAssignment>\r\n      </objectVariable>\r\n      <objectVariable name=\"eClass\" outgoingLink=\"//@ownedActivityNode.0/@storyPattern/@linkVariable.1\" bindingState=\"BOUND\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"http://www.eclipse.org/emf/2002/Ecore#//EClass\"/>\r\n        <bindingExpression xsi:type=\"expressions:LiteralExpression\" value=\"this.eClass()\"/>\r\n      </objectVariable>\r\n      <linkVariable name=\"performOperation\" target=\"//@ownedActivityNode.0/@storyPattern/@objectVariable.0\" source=\"//@ownedActivityNode.0/@storyPattern/@objectVariable.2\" bindingOperator=\"CREATE\"/>\r\n      <linkVariable name=\"eOperations\" target=\"//@ownedActivityNode.0/@storyPattern/@objectVariable.0\" source=\"//@ownedActivityNode.0/@storyPattern/@objectVariable.3\"/>\r\n    </storyPattern>\r\n  </ownedActivityNode>\r\n  <ownedActivityNode xsi:type=\"activities:StoryNode\" name=\"test core match\" outgoing=\"//@ownedActivityEdge.3 //@ownedActivityEdge.1\" incoming=\"//@ownedActivityEdge.4 //@ownedActivityEdge.5 //@ownedActivityEdge.7\" forEach=\"true\">\r\n    <storyPattern xsi:type=\"TGGLanguage:TGGRule\" name=\"MModelToModelRule\" cspSpec=\"&#xD;&#xA;&#x9;&#x9;eq(nameAttr.value, blipModel.name)&#xD;&#xA;&#x9;\">\r\n      <objectVariable xsi:type=\"TGGLanguage:TGGObjectVariable\" name=\"application\" outgoingLink=\"//@ownedActivityNode.1/@storyPattern/@linkVariable.0\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"platform:/resource/BlipLanguage/model/BlipLanguage.ecore#//BlipApplication\"/>\r\n        <domain href=\"platform:/resource/BlipTGG/model/BlipTGG.tgg.xmi#//@domain.1\"/>\r\n      </objectVariable>\r\n      <objectVariable xsi:type=\"TGGLanguage:TGGObjectVariable\" name=\"blipModel\" incomingLink=\"//@ownedActivityNode.1/@storyPattern/@linkVariable.0\" bindingState=\"BOUND\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"platform:/resource/BlipLanguage/model/BlipLanguage.ecore#//BlipModel\"/>\r\n        <domain href=\"platform:/resource/BlipTGG/model/BlipTGG.tgg.xmi#//@domain.1\"/>\r\n      </objectVariable>\r\n      <objectVariable name=\"ruleresult\" bindingState=\"BOUND\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"http://www.moflon.org.TGGRuntime#//IsAppropriateRuleResult\"/>\r\n      </objectVariable>\r\n      <objectVariable name=\"match\" bindingOperator=\"CREATE\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"http://www.moflon.org.TGGRuntime#//Match\"/>\r\n      </objectVariable>\r\n      <linkVariable xsi:type=\"TGGLanguage:TGGLinkVariable\" name=\"models\" target=\"//@ownedActivityNode.1/@storyPattern/@objectVariable.1\" source=\"//@ownedActivityNode.1/@storyPattern/@objectVariable.0\">\r\n        <domain href=\"platform:/resource/BlipTGG/model/BlipTGG.tgg.xmi#//@domain.1\"/>\r\n      </linkVariable>\r\n      <correspondence href=\"platform:/resource/BlipTGG/model/BlipTGG.tgg.xmi#//@domain.2\"/>\r\n      <source href=\"platform:/resource/BlipTGG/model/BlipTGG.tgg.xmi#//@domain.0\"/>\r\n      <csp>\r\n        <constraints variables=\"//@ownedActivityNode.1/@storyPattern/@csp/@variables.0 //@ownedActivityNode.1/@storyPattern/@csp/@variables.1\" name=\"eq\">\r\n          <allowedAdornments value=\"BB\"/>\r\n          <allowedAdornments value=\"BF\"/>\r\n          <allowedAdornments value=\"FB\"/>\r\n        </constraints>\r\n        <variables xsi:type=\"csp:AttributeVariable\" type=\"String\" attribute=\"value\" objectVariable=\"nameAttr\"/>\r\n        <variables xsi:type=\"csp:AttributeVariable\" type=\"String\" attribute=\"name\" objectVariable=\"blipModel\"/>\r\n      </csp>\r\n      <target href=\"platform:/resource/BlipTGG/model/BlipTGG.tgg.xmi#//@domain.1\"/>\r\n    </storyPattern>\r\n  </ownedActivityNode>\r\n  <ownedActivityNode xsi:type=\"activities:StoryNode\" name=\"set success\" outgoing=\"//@ownedActivityEdge.2\" incoming=\"//@ownedActivityEdge.3\">\r\n    <storyPattern>\r\n      <objectVariable name=\"match\" incomingLink=\"//@ownedActivityNode.2/@storyPattern/@linkVariable.0\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"http://www.moflon.org.TGGRuntime#//Match\"/>\r\n      </objectVariable>\r\n      <objectVariable name=\"ruleresult\" outgoingLink=\"//@ownedActivityNode.2/@storyPattern/@linkVariable.0\" bindingState=\"BOUND\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"http://www.moflon.org.TGGRuntime#//IsAppropriateRuleResult\"/>\r\n        <attributeAssignment>\r\n          <attribute href=\"http://www.moflon.org.TGGRuntime#//RuleResult/success\"/>\r\n          <valueExpression xsi:type=\"expressions:LiteralExpression\" value=\"true\"/>\r\n        </attributeAssignment>\r\n      </objectVariable>\r\n      <linkVariable name=\"matches\" target=\"//@ownedActivityNode.2/@storyPattern/@objectVariable.0\" source=\"//@ownedActivityNode.2/@storyPattern/@objectVariable.1\"/>\r\n    </storyPattern>\r\n  </ownedActivityNode>\r\n  <ownedActivityNode xsi:type=\"activities:StopNode\" incoming=\"//@ownedActivityEdge.2\">\r\n    <returnValue xsi:type=\"patternExpressions:ObjectVariableExpression\" object=\"//@ownedActivityNode.0/@storyPattern/@objectVariable.2\"/>\r\n  </ownedActivityNode>\r\n  <ownedActivityNode xsi:type=\"activities:StartNode\" outgoing=\"//@ownedActivityEdge.0\"/>\r\n  <ownedActivityNode xsi:type=\"activities:StatementNode\" name=\"bookkeeping with generic isAppropriate method\" outgoing=\"//@ownedActivityEdge.5 //@ownedActivityEdge.6\" incoming=\"//@ownedActivityEdge.1\">\r\n    <statementExpression xsi:type=\"callExpressions:MethodCallExpression\">\r\n      <ownedParameterBindings>\r\n        <valueExpression xsi:type=\"expressions:TextualExpression\" expressionText=\"match\"/>\r\n        <parameter href=\"http://www.moflon.org.BlipTGG#//Rules/MModelToModelRule/isAppropriate_BWD/match\"/>\r\n      </ownedParameterBindings>\r\n      <ownedParameterBindings>\r\n        <valueExpression xsi:type=\"expressions:TextualExpression\" expressionText=\"application\"/>\r\n        <parameter href=\"http://www.moflon.org.BlipTGG#//Rules/MModelToModelRule/isAppropriate_BWD/application\"/>\r\n      </ownedParameterBindings>\r\n      <ownedParameterBindings>\r\n        <valueExpression xsi:type=\"expressions:TextualExpression\" expressionText=\"blipModel\"/>\r\n        <parameter href=\"http://www.moflon.org.BlipTGG#//Rules/MModelToModelRule/isAppropriate_BWD/blipModel\"/>\r\n      </ownedParameterBindings>\r\n      <callee href=\"http://www.moflon.org.BlipTGG#//Rules/MModelToModelRule/isAppropriate_BWD\"/>\r\n      <target xsi:type=\"patternExpressions:ObjectVariableExpression\" object=\"//@ownedActivityNode.0/@storyPattern/@objectVariable.1\"/>\r\n    </statementExpression>\r\n  </ownedActivityNode>\r\n  <ownedActivityNode xsi:type=\"activities:StoryNode\" name=\"Add match to rule result\" outgoing=\"//@ownedActivityEdge.7\" incoming=\"//@ownedActivityEdge.6\">\r\n    <storyPattern>\r\n      <objectVariable name=\"match\" incomingLink=\"//@ownedActivityNode.6/@storyPattern/@linkVariable.0\" bindingState=\"BOUND\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"http://www.moflon.org.TGGRuntime#//Match\"/>\r\n      </objectVariable>\r\n      <objectVariable name=\"ruleresult\" outgoingLink=\"//@ownedActivityNode.6/@storyPattern/@linkVariable.0\" bindingState=\"BOUND\">\r\n        <type xsi:type=\"ecore:EClass\" href=\"http://www.moflon.org.TGGRuntime#//IsAppropriateRuleResult\"/>\r\n      </objectVariable>\r\n      <linkVariable name=\"matches\" target=\"//@ownedActivityNode.6/@storyPattern/@objectVariable.0\" source=\"//@ownedActivityNode.6/@storyPattern/@objectVariable.1\" bindingOperator=\"CREATE\"/>\r\n    </storyPattern>\r\n  </ownedActivityNode>\r\n  <ownedActivityEdge source=\"//@ownedActivityNode.4\" target=\"//@ownedActivityNode.0\"/>\r\n  <ownedActivityEdge source=\"//@ownedActivityNode.1\" target=\"//@ownedActivityNode.5\" guard=\"EACH_TIME\"/>\r\n  <ownedActivityEdge source=\"//@ownedActivityNode.2\" target=\"//@ownedActivityNode.3\"/>\r\n  <ownedActivityEdge source=\"//@ownedActivityNode.1\" target=\"//@ownedActivityNode.2\" guard=\"END\"/>\r\n  <ownedActivityEdge source=\"//@ownedActivityNode.0\" target=\"//@ownedActivityNode.1\"/>\r\n  <ownedActivityEdge source=\"//@ownedActivityNode.5\" target=\"//@ownedActivityNode.1\" guard=\"FAILURE\"/>\r\n  <ownedActivityEdge source=\"//@ownedActivityNode.5\" target=\"//@ownedActivityNode.6\" guard=\"SUCCESS\"/>\r\n  <ownedActivityEdge source=\"//@ownedActivityNode.6\" target=\"//@ownedActivityNode.1\"/>\r\n</activities:Activity>\r\n" });
	}

} //RulesPackageImpl
